質問: c#からアンマネージdllをデバッグできません c++で記述され、c#アプリケーションから呼び出されたdllがあります。dllはアンマネージコードです。ビルド後のイベントを含むdllファイルとその.pdbファイルをc#アプリのデバッグ実行dirにコピーしても、ブレークポイントに到達できません。 dllコードに。ブレークポイントには、「このドキュメントにはシンボルがロードされていません」というメッセージが添付されています。dllソースでデバッグを取得するには、他に何をする必要がありますか?「tools-> options-> debugging-> general-> enableコードのみ」を無効にしました。 dllは、「ランタイムトラッキングと最適化の無効化(/ assemblydebug)」でコンパイルされ、デバッグ情報を「はい(/ debug)」に生成します。
回答: デバッグするプロセスにアタッチするときは、アタッチする方法を指定する必要があります。いくつかのオプション、つまりマネージドとネイティブがあります。アンマネージc++でc#コードをデバッグするには、プロセスにマネージおよびネイティブとしてアタッチする必要があります(両方を同時に選択できます)。