私はダンプファイルを調査するために、インターネット上のどこかで見つかったスクリプトを使用してwindbg
と作業しています。ダンプのmodule_nameを取得するためのWindbgコマンドはありますか?
このスクリプトは、ダンプ内に存在するすべてのシンボル(少なくとも私が思う)を決定するためのコマンドと、すべての変数のメモリアドレスとタイプを表示するコマンドの2つのコマンドを起動します。
最初のコマンド:
2番目のコマンドは、より複雑であり、与え0042da68 <application>!CMap<int,int,CStringArray *,CStringArray *>
...
74c06448 mfc110u!CStringArray
次の結果:
006cabe0 <application>!CMap<int,int,CStringArray *,CStringArray *>
...
006f0280 mfc110u!CStringArray
は、私が興味x /2 *!*
結果は次のようにエントリが含まれていますCMap
とCStringArray
オブジェクトのサイズですので、次のコマンドを起動します:
dt <application>!CMap<int,int,CStringArray *,CStringArray *> m_nCount 006cabe0
dt <application>!CStringArray m_nSize 006f0280
これは正常に動作しています。必要な情報が得られます。
はまた、これは正常に動作しているようだ:
dt CStringArray m_nSize 006f0280
しかし、この1つが失敗している:
dt CMap<int,int,CStringArray *,CStringArray *> m_nCount 006cabe0
これは私がダンプファイルのアプリケーションの名前を取得する必要があることを意味し(あると思われますいくつかの書式設定中に消えた)。
!analyze -v
コマンド(grep
をMODULE_NAME
で実行)を使用してこれを取得できますが、これはアプリケーションの名前を取得するだけで恐ろしい負担になります。
私は調べているダンプのアプリケーションを知るために実行する必要があるwindbg
コマンドを知っていますか?
偉大な答えだけでなく、その答えに到達する方法、ありがとう! – Dominique
はただ、これは例外KDのないモジュールをNTにポイントするカーネルモードダンプの@ $のexentryとスケーリングない場合がありますのでご注意ください> DX Debugger.Utility.Control.ExecuteCommand(「!-vを分析する」)。ここで、(=> a.Contains( "MODU")) [0x0の]:MODULE_NAME:LiveKdD KD> LM 1メートルA @ $ exentry NT – blabb