5

私は本当に、このことわざの壁に頭をぶつけてきました。

C# と C++ の両方のコード プロジェクトを含むソリューションがあります。

このプロジェクトでコンパイルされた C++ DLL は、P/Invoke を介して C# から呼び出すことがよくあります。問題ありません。私の知る限りでは、*.sln ファイル、および C++ および C# ファイルを介したすべての必要なデバッガー設定が適切に設定されています。注: 多くの場合、同様に P/Invoked C++ コードを問題なくデバッグできます。

当然のことながら、シンボルが読み込まれていない可能性があると考えましたが、モジュール ウィンドウを開くと、ステップインしようとしている DLL がリストにないことがわかりました。私の C# プログラムで関数を実行すると、確かに DLL が使用されます (正しい出力が得られます) が、[モジュール] ウィンドウを見ても DLL は表示されません。

誰が何が起こっているのか考えていますか?

tl;dr --> 私は P/Invoked C++ のデバッグに関してかなりの経験があります。ただし、デバッグしたい DLL はモジュール リストにも表示されません (そのため、VS デバッガーがその存在を完全に認識していないように見える場合、明らかにステップインできません)。

前もって感謝します!!

乾杯!

-カダージ

4

1 に答える 1

8

私の推測では、アンマネージ コードのデバッグが有効になっていないと思います。スタートアップ プロジェクトの [プロパティ] -> [デバッグ] タブに移動します。「アンマネージ コードのデバッグを有効にする」にチェックを入れます。

于 2013-03-05T22:22:05.793 に答える