私は空のベクトルを持っています。何かがそれをどこかで満たしていて、見つけることができません。 push_backが発生したときにプログラムが中断するように、メモリブレークポイントを設定したい。ベクトル<int>の長さが長くなるときのブレークポイントを設定するにはどうすればよいですか?
私はVisual Studio 2008を使用していますが、問題はベクトルがウォッチウィンドウに内部メンバーを表示しないことです(カスタムフォーマットがあるようです)。それはちょうど次のようになります。
myVector [0]()のstd ::ベクトル< int型、のstd ::アロケータ<整数>>
示すサイズ0の任意のヒント?
なぜpush_backにブレークポイントを設定しないのですか? – JonathonW
それは悪くないが、サイズ変更、割り当てなどのような他のケースをキャッチしませんでした。しかし、ありがとう! – baddie
ベクトルには仮想関数はなく、メンバは3つしかありません。 1つはポインタ、1つは割り当てサイズ、もう1つは実際にベクトル内の要素の数です。実際のクラスレイアウトを知らなくても(ちょうどヘッダーで調べることはできますが)試してみるとメモリアドレスを見付けるのが難しくありません(おそらく 'vec + sizeof(void *)') –
Damon