メモリダンプのコールスタックを見たときに、VSでソースコードディレクトリを指定する方法を教えてください。
-
03-07-2019 - |
質問
作成された.dmpファイルを分析していますが、多くの情報を提供するコールスタックがあります。しかし、コールスタックをダブルクリックして、ソースコードに移動させたいと思います。
コールスタックを右クリックして、シンボル設定を選択できます。場所をPDBに配置できます。ただし、ソースコードディレクトリにはオプションがありません。
解決
ソースコードディレクトリは残念ながらpdbにハードコードされていますが、必要なフォルダーがわかっている場合は、シンボリックリンク、ジャンクションのWindowsコンセプトを使用できます。
を使用します他のヒント
この記事をご覧ください。 (別名SrcSrv)サイトでの統合。
コードベースでこれらの手順を実行する時間を取ったところ、過去6か月間にソフトウェアの任意のビルドから.dmpファイルを取得できるようになりました...シンボルを含むスタックトレースを取得し...デバッガーで正確なソースコード行を表示します。手順は自動ビルドに統合されているため、オーバーヘッドはほとんどありません。
ClearCaseのカスタムインデクサーを作成する必要がありましたが、Perforce、TFS、およびその他の既存のインデクサーがあります。
VS2005の.dmpサポートは少し不安定です。VS2008ではかなり安定しています。
独自のシンボルサーバーに加えて、ここからMS製品のシンボルを取得するようにVisual Studioを構成する必要もあります。
http://msdl.microsoft.com/download/symbols
Windbgでは、PDBのパスと同じソースパスを設定できます。
PDBをロードした後、現在の実行場所に一致するソースファイルに手動で移動します。 PDBには、関連付けられたバイナリを構築したソースファイルのパスとファイル名が含まれており、表示されているファイル名と現在のバイナリの場所に関連付けられているファイル名が一致することに気付いたときに、デバッガーがフックできるほどスマートであると思われます