1

リリース アプリケーションのデバッグ中に変数の値を確認できるようにしたいと考えています。コンパイラ オプションを Z7 に設定し、/DEBUG および /PDB: リンカー オプションを指定しました。これで、アプリケーション用の pdb ができました。

この設定により、ブレーク ポイント (Windbg) をコード内に配置することができ、適切にヒットします。しかし、変数の値を見ることができません。

[ローカル] ウィンドウにはポインター値のみが表示されますが、同じ内容は表示されません。たとえば、内部に int を持つ構造体へのポインターがある場合、ポインターの値が表示されるだけです。ツリーで [+] をクリックして同じものを展開すると、次の値を持つ変数名が表示されます。<Memory access error>

リリース ビルドに変数値を表示するにはどうすればよいですか?

4

1 に答える 1

1

多くの場合、それらは存在しないため、それらを見ることができません。最適化されたアセンブリ コードを見ると、多くの中間変数がパフォーマンスのために完全に削除されていることがわかります。それはおそらくあなたが見ているものであり、それを回避する唯一の方法は、逆アセンブリをたどって正しいメモリ位置/レジスタを監視することです.

于 2010-12-20T14:14:47.033 に答える