Visual C# を使用して、大規模な C# プロジェクトをデバッグしています。プロジェクトは非常に大規模で、一部の pdb のみが自分で構築されています。すべての pdb をビルドできますが、非常に時間がかかります。バックトレースをデバッグしていますが、トレースの一部に [External Code] が付いています。一部の pdb が欠落していることはわかっていますが、外部コードが存在する DLL をどのように知ることができますか? CI では EIP を取得し、プロセス マッピングを参照して EIP が存在する場所を特定できますが、これを .Net 環境でどのように行うことができますか?
5834 次
2 に答える
25
ツールに移動 | オプション | デバッグ | General をクリックし、「Enable Just My Code」チェックボックスをオフにします。これで、Visual Studio は完全なコール スタックを表示します (少なくともマネージ コードの場合は、そこに「ネイティブからマネージへの移行」が表示される場合があります)。
于 2009-12-16T07:17:04.097 に答える
1
したがって、プロジェクトが非常に大きい場合は、すべてのクラスが名前空間に沿って十分に共有されており、すべてのアセンブリが含まれている名前空間に基づいて名前が付けられていると思います。したがって、外部コードの開始 (または終了) を確認する場合は、呼び出しがどこから (またはどこへ) 行われるかを調べ、欠落しているアセンブリ pdb を特定する必要があります。
于 2009-12-16T07:23:20.653 に答える