3

SqlConnection クラスを内部で構築して使用するサードパーティ ライブラリがあります。クラスから継承することはできますが、大量のオーバーロードがあり、これまでのところ正しいものを見つけることができませんでした。私が望むのは、使用されている接続文字列にパラメーターを追加することです。

.NET ライブラリ コア自体にブレークポイントを設定する方法はありますか? 具体的には、SqlConnection クラスのコンストラクターで、スタック トレースを見て、実際に構築されている場所を確認できますか?

それを除けば、これを行うことができる他の方法はありますか?

具体的には、接続を確認するときにサーバー上でアプリケーションをより簡単に識別できるように、アプリケーション名パラメーターを追加する必要があります。


編集:まあ、もっと助けが必要なようです。シンボル サーバー サポートに関連するすべてを有効にしたと思いますが、構成したディレクトリが .pdb ファイルを含むディレクトリでいっぱいになっていることに気付きました。それでも、SqlConnection クラスの実際のソースを取得して利用可能にすることはできません。

これを成功させるための明確なガイドはありますか?

4

6 に答える 6

7

.NET ソース コードをダウンロードして、.NET FW ソース コードにブレーク ポイントを設定できます。

NetMassDownloaderを使用して、.NET ソースをすばやく取得できます。

于 2008-09-14T11:13:36.533 に答える
3

この記事によると、.NET フレームワークのソース コードをダウンロードし、Visual Studio を使用してデバッグできます。

http://weblogs.asp.net/scottgu/archive/2007/10/03/release-the-source-code

于 2008-09-14T11:14:28.730 に答える
3

Deblectorについて言及するのをほとんど忘れていました- これは Reflector プラグインであり、ソース コードなしでほぼ​​すべての .net アプリをデバッグできます :)

于 2008-09-14T11:37:43.713 に答える
3

ソースのデバッグは明らかに優れていますが、必要な関数に bp を設定するために VS デバッガーの pdbs やソースは必要ありません。

Tools/Options/Debugger に移動し、「Just My Code」というオプションをオフにしてください。フレームワークは「あなたのコード」ではないため、デバッガーは、そこにブレークポイントを設定できないようにします。

次に、メタデータに表示されるメソッドの完全な名前が必要です。これには、ネストされている名前空間が含まれます。名前を見つける必要がある場合は、ILDasm または Reflector をお勧めします。

左上隅のブレークポイント ウィンドウには、「新しい bp」メニュー ボタンがあります。選択肢の 1 つは、関数名に bp を設定することです。ダイアログが表示されたら、プロジェクトがないため、Intellisense で名前を確認するチェックを外します。それが役立つことを願っています。

于 2008-09-14T22:13:13.733 に答える
2

また、Microsoft が提供する .Net Framework ソース コードでソース レベルのデバッグを使用できない場合は、別のデバッガーを試すことができます。mdbg や windbg のように。

編集

これは、.Net フレームワークのリリースされた部分の取得と、ブレークポイントの設定方法を詳細に説明しています。NetMassDownloader は、1 回のダウンロードですべて (pdb とソース) を提供します。しかし、.Net フレームワークのすべてのソース コードが利用できるわけではありません。SqlConnection がそうでない場合は、私が言及したような IL デバッガーをいつでも使用できます。とにかく、ルッツのリフレクターでソースコードを確認できることを忘れないでください。

于 2008-09-14T11:23:24.420 に答える
0

OK、決定的なガイドが必要な場合は、ここにあります:

.NET Framework ソース コードをデバッグするための Visual Studio の構成

助けが必要な場合は、どの手順を実行したかを使用してください。

于 2008-09-14T22:39:51.487 に答える