2012-07-24 9 views
6

Windowsアプリケーションのデバッグ中に、特定のメモリ位置(およびその方法)でシンボルを見つけることができるかどうかを調べる必要がありました。これは、 "メモリ"ウィンドウにシンボルを入力する逆の操作で、シンボルをそのアドレスに変換します。しかし、それ以外の方法ではありません。与えられたメモリアドレスまたはその近くのシンボルを見つけるには? (Visual Studio 2010を使用)

VxWorksシェルでは非常に簡単ですが、Linux gdbでも可能です。 VSで可能なはずです。

ありがとうございました。

+1

あなたはここでの提案を提出してくださいあなたは、その情報を見つけるために、手動でDIAを使用する必要があります:(...と思うだろう:。。http://connect.microsoft.com/ – linuxuser27

+0

おかげでそれを行います。 DIAとは何ですか? – FractalSpace

+1

DIAはビルド時に生成されるシンボルファイル 'pdb'を照会するAPIです。これは簡単なタスクではありません。" DIA SDK "を検索 – linuxuser27

答えて

3

windbgを使用してデバッグする場合、 "ln Address"コマンドを使用すると、ターゲットアドレスの近くにあるシンボルを確認するのに役立ちます。

3

あなたが幸運にも正確なアドレスを知っていますが、シンボル名がわからない場合は、 アドレスをウォッチウィンドウに書き込もうとすると、VSがシンボルを検索します。 など。

(void *)0x6F63E248 -> 0x6f63e248 {My.dll!TMyString<char,CMyMemHeap> *s_psMyAppNameAbbr} void * 
+1

+1質問が "与えられたメモリアドレスでシンボルを見つける方法"である限り、これは有効で有用な答えです。 – Yirkha

+0

これは非常に便利で、私が必要としていたものです。 –

関連する問題