VS2010 で混合モード アプリケーションをデバッグしているときに、アンマネージ C++ DLL ソース ファイル (マネージ C# ラッパー クラスから呼び出された) に含まれるコード行に設定されたブレークポイントは、悪名高い「The breakpoint will not be hit currently. No Symbol has been問題の行のブレークポイントにマウスを合わせると、このドキュメント用にロードされました」という情報メッセージが表示されます。ブレークポイント自体は、通常の真っ赤なオーブではなく、黄色の情報三角形が付いた赤い円です。もちろん、デバッガーを実行してもブレークポイントにはヒットしません。この警告に対して私が見つけたほとんどの回答は、ブレークポイントが適切に設定されていない、予想される dll がロードされていない、関連する pdb ファイルが正しい場所にないなどを示しています。これはそうではありません。問題。アプリケーションは、参照された dll を正しくロードして実行します。dll と同じファイル日付の正しい pdb ファイルが、ターゲット dll 自体と共に実行可能ファイルの作業ディレクトリにあることを確認しました。デバッガーは単に dll のシンボルを読み込まず、dll はモジュール リストに表示されません。
この問題に対してオンラインで見つけた解決策はありません。dll は、'Debug->Windows->Modules' メニュー選択から利用可能なモジュール リストに表示されません...実際にはロードされています。ラッパー クラスに設定されたブレークポイントは正しく機能します。
bin および obj ディレクトリを削除し、ソリューションをクリーニングして再構築しても役に立ちません。