2012-01-30 7 views

答えて

5

Cecilは、pdbとdllが一致するかどうかをテストするためのAPIを公開していません。ただし、アセンブリを読み込んだときにチェックを行い、シンボルを読み取ろうとします。

しかし、pdbがモジュールにマッチするのはどういう意味ですか?

これは、pdbとモジュールが、まったく同じGUID識別子とpdbのリビジョン番号(ageともいう)を含むレコードを共有することを意味します。

場合によってはGUIDのみをチェックしたい場合もあれば、両方をチェックしたい場合もあります。 Cecil自体は、デフォルトの動作を上書きする方法を提供していませんが、それは非常に簡単な変更です。 PdbReaderの情報源を見てください。

現在、チェックはPopulateFunctionsにあり、現在、pdbの年齢はアセンブリ内のデバッグレコードと同じでなければなりません。それをあなたの好みに合わせて簡単に変更することができます。

また、別のツールを使用することもできます。chkmatchを満足して使用しています。

+0

+1 chkmatch。私は自分自身でオープンCecilをリッピングし、それをWinFormにスラミングすることで、PDB(ソースファイルの場所など)を診断するツールを構築しましたが、Codeはとても醜いので、公開するのは恥ずかしいでしょう。それにもかかわらず、書き込みには30分かかりましたので、簡単に複製できます –

関連する問題