GUID (ブログ)を使用して、.NET アセンブリ .dll ファイルを .pdb にマップする方法を理解しました。アセンブリをデバッグしてソース コードを要求されたときに、ファイルに移動すると、ソース コードが元のコードとは異なると表示される場合があります。それはどのようにこれを知っていますか?.pdb ファイルには各ファイルのチェックサムが含まれていると思っていましたが、そうではないようです。デバッグ情報をダンプするのに最適なツールはdia2dumpです。C++ .pdb ファイルには MD5 エントリがありましたが、C# .pdb ファイルにはありませんでした。
C++ ダンプ
dia2dump -f dia2dump.pdb > dia2dump.pdb.files.txt
C# ダンプ
dia2dump -f Autofac.pdb > Autofac.pdb.files.txt
dia2dump -all Autofac.pdb > Autofac.pdb.all.txt
「すべて」のダンプで見逃したものはありますか?
チェックサムを使用する必要があります。Module.cs で 1 文字を変更すると、次のようになります。
.pdb で参照されているソース ファイルのチェックサムはどこにありますか?