WinDBGでWindowsダンプファイルを調べています。コールスタックフレームをコマンド.frameで切り替えることはできますが、レジスタには常に最後のコンテキストが含まれていることがわかりました。 つまり、トップではない特定のコールスタックフレームに属するコンテキストを復元することが可能な場合、windbgの特定の呼び出しスタックフレームのレジスタ値を調べる方法
6
A
答えて
7
あなたはx64のターゲットをデバッグしている場合は、使用することができます。
.frame /r
をフレーム内のレジスタを表示します。この情報はイメージ内の巻き戻しデータに基づいているため、かなり信頼性があります。コンテキストを変更することもできます。
.frame /c
x86では、このトリックは機能しません。 .frameはレジスタに何かを表示しますが、正しいとは限りません(基本的には運が正しいだけです)。
0
trystthis.pyを試してみてください。コールスタックの各フレームのプロローグを逆アセンブルしてCFI(コールフレーム情報)を取得するのが一種です。
http://nick.luckygarden.org/find-this-ptr-within-a-callstack-in-a-dump-file/
関連する問題
- 1. 呼び出し方法とクラス名を調べる方法は?
- 2. 誰がコマンドプロンプトウィンドウを呼び出したかを調べる方法
- 3. getterメソッドで呼び出し元コンポーネントを調べる方法は?
- 4. モジュール内でサブモジュール呼び出しを調べる方法
- 5. テーブルへのすべての挿入呼び出しを特定する方法
- 6. 特定のセルの値を調べる方法
- 7. WinDbg呼び出しスタックの16進オフセット
- 8. サブカテゴリの呼び出し方法を調整する方法
- 9. コンパイル時にすべてのlibc呼び出しを特定する方法は?
- 10. アセンブリからのstat struct呼び出しのフィールドオフセットを調べる方法は?
- 11. GCC MIPS-32呼び出し規約/スタックフレーム定義
- 12. すべてのAjaxリクエストで特定の関数を呼び出す方法
- 13. ASP.NETでのデータベース呼び出しの数を調べる
- 14. gmailのボタンのjavascript呼び出しを調べる
- 15. 戻り値レジスタとデストラクタの呼び出し順
- 16. を呼び出し、特定のコンストラクタ
- 17. iOSで特定のユーザーのデフォルトを呼び出す方法
- 18. windbgのLogger.exeを使用してメソッド呼び出しを印刷
- 19. 可能なURI呼び出しからjson応答を調べる方法
- 20. メモリ間接呼び出しとレジスタ間接呼び出しの相違点
- 21. Javaソースコード内の特定のAPIへの呼び出しをコメントアウトする方法
- 22. AJAX呼び出しは、特定のページ
- 23. 特定の実行を呼び出す方法
- 24. 特定のイベントで$ customer-> save()を呼び出す方法
- 25. 特定のPythonバージョンをscript.py内で呼び出す方法 - Windows
- 26. パラメータを特定の回数だけ呼び出す方法
- 27. 特定の時刻にアラームマネージャを呼び出す方法は?
- 28. Androidで特定の連絡先を呼び出す方法...?
- 29. Swift - 特定のインスタンスからメソッドを呼び出す方法は?
- 30. 特定の時間にコントローラでアクションメソッドを呼び出す方法
これが表示されます。私はレジスタを間接的にスタックに置くことしかできません。 –