5

多くのプロジェクトを含むソリューションがあり、そのうちのいくつかはソリューション パスの外にあります (コンパイル済みの dll と pdb をビルド後のイベントとして xcopy でコピーします)。

dllにステップインしたい場合、それらは私のソリューションの外にあります:

「ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません」

  • すべてのファイル (dll + pdb + exe) が同じディレクトリにある
  • ソースファイルは別の場所にあります
  • 内部dllへのステップインが可能

外部 dll もデバッグできるようにするには、どの手順が必要ですか?

4

1 に答える 1

13

最も簡単な説明は、DLL がまだロードされていないということです。[デバッグ] > [ウィンドウ] > [モジュール] ウィンドウで想定を再確認し、リストでデバッグしようとしている DLL を見つけます。

そこに戻って見つかった場合、デバッガーは PDB ファイルの読み取りに問題がある可能性があります。DLL を右クリックして診断し、[Symbol Load Information] をクリックします。デバッガーが PDB ファイルを検索した場所が表示されます。

それ以降の VS バージョンでは、同じウィンドウの [ユーザー コード] 列も確認してください。「いいえ」に設定されている場合は、[ツール] > [オプション] > [デバッグ] > [全般] を使用し、[マイ コードのみを有効にする] のチェックを外します。

最後に、マネージ デバッガーを使用してネイティブ コードをデバッグしたり、その逆を行ったりしないように注意してください。デバッグしようとしているコードの種類を文書化するのを忘れたため、質問からは明確ではありません。その場合は、混合モードのデバッグを有効にする必要があります。

于 2013-04-24T23:33:49.180 に答える