基本的にはこれを実行します:pdbファイルにソースファイルの場所が含まれています(例:C:\dev\proj1\helloworld.cs
)。 pdbファイルを変更して別の場所(例:\more\differenter\location\proj1\helloworld.cs
)が含まれるようにすることはできますか?シンボルファイル(pdb)のソースファイルの場所を変更するには
答えて
Windows用デバッグツールのソースインデックス機能を使用すると、ソースリポジトリ内のファイルの適切なリビジョンへの参照がPDBファイルの代替ストリームとして保存されます。
pdbファイルに埋め込まれたパスについてより一般的なものを探している場合は、最初にMS-DOS subst
コマンドを使用して、特定のフォルダをドライブ文字に割り当てることができます。
subst N: <MyRealPath>
N:ドライブに対してプロジェクトを開き、再構築します。 PDBファイルはN:のソースファイルを参照します。今度は、特定のソースファイルセットをどこに置いても問題ありません。それは、作成したときと同じように、ルートディレクトリ "N:"を呼んでいる限りです。
この方法は、John Robbinsの優れた本Debugging Applications for Microsoft .NET and Microsoft Windowsで推奨されています。
フロインドが既に指摘しているように、確かに可能です。 しかし、デバッグ中にソースを見つけてロードできるようにするだけであれば、それに対応してソースパスを設定する方が良いでしょう。デバッガで設定されると、PDB内のすべてのハードコーディングされたパスがプリエンプトされます。 (例えば)のWinDbgで
:
.srcpath + path_to_source_rootまたはこの(場合にリモートでデバッグしている):
.lsrcpath + path_to_source_root
私が探していました私のマシンでビルドしていない実行ファイルで発生したクラッシュダンプをデバッグするために、これに対する答え。したがって、PDBで参照されているソースコードへのパスが無効で、 PDBは実行可能ファイルで参照されます。
実行して何かを見つけることができなかった場合、実行可能ファイルとPDBをクラッシュダンプファイル(つまり同じディレクトリ)の上に置き、VSでクラッシュダンプを開いて実行すると、ローカルでPDB/EXEを使用してください。さらに、コールスタック内のエントリをクリックすると、ソースコードの場所を入力するよう求められます。関連するソースコードを指すと、すべて正常に動作します。これは素晴らしいことです!
とにかく、うまくいけば、これは他の誰か... :)
- 1. ウィンドウのJavaFx JNIシンボルファイル(pdbファイル)を取得する場所
- 2. SVNソースファイルの場所
- 3. three.js ColladaLoaderソースファイルの場所
- 4. あなたの場所を偽の場所に変更する
- 5. CLRがpdbシンボルファイルを検索する方法
- 6. ウィンドウメニューの場所を変更する
- 7. コアダンプの場所を変更する
- 8. mysqlデータベースの場所を変更する
- 9. コンポーネントフォルダの場所を変更する
- 10. Android:オーバーレイの場所を変更する
- 11. Azureリソースグループの場所を変更する
- 12. リポジトリの場所を変更するSVN
- 13. php.iniの場所を変更する
- 14. redis dbの場所を変更する
- 15. HBase WALの場所を変更する
- 16. ボーダレスフォーム(C#)の場所を変更する
- 17. cppソースファイルの場所を設定するための環境変数
- 18. Sqliteのデフォルトのファイル/ dbの場所を変更するには
- 19. 変更MouseEventArgs場所
- 20. データベースの場所をPogrammaticallyに変更
- 21. 崇高なテキストパッケージのディレクトリの場所を変更するには?
- 22. OpenCartファイルマネージャのデフォルトの場所を変更するには?
- 23. アンドロイドでオートコンプリートの場所のテキストサイズを変更するには?
- 24. カサンドラのアウトファイルの場所を変更するには?
- 25. Hive-beelineの履歴ファイルの場所を変更するには
- 26. EasyPHPの `web root`フォルダの場所を変更するには?
- 27. CakePHPのWebrootの場所を変更するには?
- 28. PHPファイルのWebサーバーの場所を変更するには
- 29. は変更IDの変更IDが正しい場所に
- 30. Gradleのダウンロード場所を変更するには
http://msdn.microsoft.com/en-us/library/ms680641.aspx –
PDBを持つことGOLDあるソースコントロールから直接インデックス付けができます!私はすべてのオープンソースプロジェクトがこれをやり始めてくれることを願っています。 – Trumpi
これはミントです。私はこの機能を知らなかった! この記事は便利です: http://entland.homelinux.com/blog/2006/07/06/setting-up-a-symbol-server/ – Pete