10

WinDBGでWindowsダンプファイルを調査しています。コマンド.frameでコールスタックフレームを切り替えることができますが、レジスタには常に最後のコンテキストが含まれていることがわかりました。つまり、最上位ではない特定の呼び出しスタックフレームに属するコンテキストを復元できる場合はどうでしょうか。

4

2 に答える 2

11

x64ターゲットをデバッグしている場合は、次を使用できます。

.frame /r

フレーム内のレジスタを表示します。この情報は画像の巻き戻しデータに基づいているため、かなり信頼性があります。次の方法でコンテキストを変更することもできます。

.frame /c

x86では、巻き戻し情報がないため、このトリックは機能しません。.frameは引き続きレジスターに対して何かを表示しますが、それが正しい可能性はそれほど高くありません(基本的には運によってのみ正しくなります)。

于 2012-04-06T10:42:12.383 に答える
0

findthis.pyを試してください。これは、コールスタック内の各フレームのプロローグを分解することによってCFI(コールフレーム情報)を取得するようなものです。

http://nick.luckygarden.org/find-this-ptr-within-a-callstack-in-a-dump-file/

于 2014-12-30T15:46:33.203 に答える