2010-11-22 12 views
0

私のプロジェクトで参照されているサードパーティDLL(CSLA)があります。今はすべて正常に動作しますが、何らかの理由でCSLAから例外がスローされると、メモリアドレスなどで逆アセンブリが表示されます。実際にソースコードを表示したいと思います。私は以下を行いましたが、まだ違いはありません。 Visual Studioでの私の私のコードオプションでコンパイル済みDLLファイルへのデバッグ

  1. 無効にデバッグシンボルファイルがロードされている2010年
  2. チェック(デバッグ - >ウィンドウ - > Modules)を、それらがあるかのように思えます。

.pdbファイルがロードされている限り、ソースコードにデバッグできるはずです。

デバッガでソースコードを表示できないのはなぜですか?

+0

dllファイルのソースコードを表示したいですか? –

+0

はい、デバッガを正しい例外行でブレークさせたいだけです。 – Rubans

答えて

0

実際、pdbファイルでは、ソースコードをステップ実行できるとは限りません。 PDBにはソースの場所に関する情報が含まれているため、そのようなデバッグを行うソースを入手する必要があります。デバッグ - >例外オプションを使うことができます。取得した例外(または新しいものを追加する)にチェックを入れ、アプリケーションをデバッグする必要があります。次回は例外をスローする瞬間にブレーキをかけ、スタックトレースを収集することができます。

+0

私はこれを行ったことを追加する必要がありますが、それは例外で壊れますが、前述のように、私にはメモリアドレスだけが表示されます。 – Rubans

+0

はい、ソースはありませんが(そしてpdbを使用すると)、スタックトレースしか収集できません。例外の原因を突き止めるだけで十分です。 – MichaelMocko

+0

ありがとう、それはpdbファイルの目的の私の理解に役立ちます。 – Rubans

2

いいえ.pdbだけにソースコードは含まれていません。 IL-location =>ソースコード行のマッピングファイルです。

.NET Reflector Pro(非自由形式)では、外部ライブラリのコードにステップインできます。

+0

ありがとう、少なくとも私には、pdbの目的の目的についてのより多くの情報を提供します。 .netリフレクタープロと一緒に持っている問題についての私の答えを見てください。 – Rubans

+0

私もSharepoint.dllにデバッグしました。このことは本当に素晴らしいです:)あなたはいくつかの驚くべきコードスタイルを見たいのですが、これを試してみてください...確かにあなたは後悔しないでしょう:) –

+0

それは良いですが、それ以来推測プロを逆コンパイルすることはできませんリフレクターはすべてにとって素晴らしいことではありません。 – Rubans

0

実際にサードパーティのDLLのソースコードはありますか?そうでなければ、あなたはそれを見ることができません。

Reflector(http://www.red-gate.com/products/reflector/)の有料版では、「デコンパイル済み」コードにデバッグすることができます。これはしばしば驚くほど明確です。これは、あなたが問題を抱えているDLLが.NETアセンブリである場合にのみ動作します。これはあなたの質問から100%確実ではありません。

+0

OK、これを試したところ、pdbファイルがすでにディレクトリ内に存在しているため、名前を変更する必要がありました。しかし、リフレクタはまだ逆コンパイル段階でエラーが発生します。 – Rubans

関連する問題