ダンプファイル解析を実行すると、Microsoftシンボルサーバーを指すようにセットアップシンボルパスが設定されます。 windbgはダンプファイルがどのOSで生成されたか知っていますが、そのOSに正しいシンボルをどのようにダウンロードしますか?windbgでダンプファイルをダウンロードするOSシンボルを確認する方法
0
A
答えて
2
シンボルをバイナリに一致させるために、WinDbgはDebug Directoriesと呼ばれるものを探します。デバッグディレクトリは、PEモジュールのセクションです(これは、すべてのタイプの実行可能ファイルに対してWindowsによって使用されるファイルフォーマットです)。デバッグディレクトリには、単にデバッグ情報のタイプへのリンクが含まれています。これはntdll.dllのために出力され
...
Debug Directories
Time Type Size RVA Pointer
-------- ------ -------- -------- --------
4CC78FB1 cv 22 00102588 101988 Format: RSDS, {30976E0B-FBF7-45EF-8608-99932F2B791F}, 2, ntdll.pdb
4CC78FB1 ( A) 4 00102584 101984 BB03197E
...
:あなたはCMDウィンドウlink /dump /headers <my_module_name>
でコマンドを入力すると、それはこのようなものを出力します。 CV(CodeView用)のデバッグ情報がntdll.pdbに含まれており、そのPDBのGUIDがリンク内のものと一致していることがわかります。そのGUIDは、ビルド時に各モジュールに対してランダムに生成されます。
WinDbgのコマンド!lmi
も、この情報を別の形式でダンプします。
シンボルサーバーからシンボルを読み込むときに、シンボルサーバーに要求が送信され、一致するGUIDを持つ 'ntdll.pdb'という名前のファイルが取得されます。
関連する問題
- 1. WinDbgでダンプファイルを読み取ると0x80004005エラーが発生する
- 2. WIXインストーラでOSを確認する
- 3. windbg:プライベートpdbシンボル
- 4. PostgreSQLサーバの状態を確認する方法Mac OS X
- 5. WinDBGで管理例外の詳細を確認するには?
- 6. QNetworkAccessManager:ダウンロードが完了したことを確認する方法?
- 7. Android OSバージョンの確認方法
- 8. R内のOSの確認方法
- 9. アップロード中にインターネット接続を確認する方法と、モバイルでダウンロード中です。
- 10. WindbgでGetFrameContextを解決する方法
- 11. jspでログインを確認する方法
- 12. Oracleでインデックスを確認する方法
- 13. ダウンロード前にMagento Connect 2.0の拡張ソースを確認する方法
- 14. C2DM接続を確認する方法
- 15. RAMの量を確認する方法
- 16. RD確認を抑止する方法
- 17. uibuttonのタイトルを確認する方法
- 18. リクエストのステータスコードを確認する方法
- 19. サウンドレコーディングソースを確認する方法
- 20. メソッドレベルのスプリングセキュリティを確認する方法
- 21. gemサポートルビを確認する方法1.9
- 22. ダーティーフラグを確認する方法
- 23. 私のFuncを確認する方法
- 24. 行を確認する方法は?
- 25. windbg:シンボルのソースファイル名を取得するには?
- 26. 複数のファイルをダウンロードする前にファイルサイズを確認する
- 27. アクセシビリティオプションにアクセスする方法を確認する方法
- 28. レール:確認|確認ボックスでデフォルトで「キャンセル」を選択する方法は?
- 29. aspページでユーザー認証を確認する方法
- 30. WCFでポートを共有する方法を確認する
この情報はアセンブリ内に埋め込まれたPEモジュールの一部ですか?アプリケーションを作成すると、別のOSで異なるサービスパックで実行できます。 PEモジュールに格納されているこの情報が、アプリケーション自体が異なるOSで動作しているときにどのように使用できるのか混乱しています。 –
各PEモジュールには独自のシンボルファイルがあります。 OSは異なるサービスパック、パッチ、ホットフィックス、プライベートバイナリなどの複数のバージョンから構成されているため、「OS用のシンボル」はありません。 –
アプリケーションアセンブリがVista上でコンパイルされたとしましょう。 Windows 7とWindows Server 2008用のダンプを生成します。この場合、PEモジュールはVista用のIDを持つでしょうか?この場合、2つのダンプでWindows 7と2008のシンボルがどのように表示されますか? –