0

私はSOを検索しましたが、私の問題に対する答えが見つからなかったと言うことから始めます。

asp.netコードの背後にブレークポイントを配置したいのですが、クラスライブラリのメソッドまたは関数が呼び出されているときに、クラスライブラリコードにステップインできるようにしたいと思います。

クラスライブラリコードファイルをasp.netソリューションファイルに追加しました。

プロセスへのアタッチが機能しません(背後にあるクラスライブラリコードが表示されません)。また、pdbファイルが\ binフォルダーに存在することも確認しました....この投稿によると、ASP.NETクラスライブラリはブレークポイントに到達していません

これは私のプロセスのスクリーンショットです: ここに画像の説明を入力してください

クラスライブラリに足を踏み入れる方法について何かアイデアはありますか?

4

3 に答える 3

2

ASP Web サイトのワーカー プロセスである w3wp にアタッチする必要があります。dll はそこにあるはずです。

ただし、コードが直接参照されている場合は、組み込みの VS デバッガーが機能するはずです。本当にデバッグで実行していますか?

于 2012-06-15T18:51:36.033 に答える
1

デバッグから実行している場合は、出力ウィンドウにクラス ライブラリと読み込まれたシンボルが表示されます。次のようなものを探します。

'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b2719ea1\480fba3f\assembly\dl3\c439d1ec \8c571aed_7e45cd01\MyClassLibrary.DLL'、シンボルが読み込まれました。

クラス ライブラリが読み込まれているのに、最後に "シンボルが読み込まれました" と表示されない場合は、何らかの理由で .pdb ファイルが見つかりません。

また、デバッグから実行している場合は、[プロセスにアタッチ] ボックスから WebDev.WebServer40.exe にアタッチできます。ただし、その必要はありません。シンボルが読み込まれており、デバッグ モードで実行している場合は、プロセスに明示的にアタッチしなくても、ブレークポイントに到達できるはずです。

クラス ライブラリにないコードでブレークポイントをヒットできますか?

于 2012-06-15T19:15:04.833 に答える
0

「すべてのユーザーからのプロセスを表示する」がチェックされていることを確認してから、Web サイトの w3wp プロセスにアタッチします。

于 2012-06-15T18:52:20.100 に答える