2012-01-18 25 views
1

私はC++のDLL(私も書いています)を使用するC#プロジェクトを作成しました。私は私のC#ソリューションからこのDLL関数をデバッグしようとしています。Visual Studio 2010でのC++プロジェクトのデバッグ

私はC++プロジェクトをC#ソリューションに追加し、その出力を管理しています。これは問題ありません。しかし、私はdll関数に入ることができませんでした(ブレークポイントは読み込まれません)。

答えて

2

ExpressではないVisual Studioのバージョンを使用していると仮定すると、実行中のプロジェクトのプロパティペインでオプションをチェックすることで、ネイティブC++のデバッグを許可することができます。プロジェクトプロパティ - >デバッグ - >アンマネージドコードのデバッグを有効にします。

enter image description here

+0

はい!出来た!ありがとうございました) –

1

あなたはネイティブDLLをデバッグモードでコンパイルとリンクされたことを確認したくなるでしょう。私はVisual Studio IDEをあまり使用しませんが、希望のコマンドラインオプションは、cl.exeの場合は/Zilink.exeの場合は/DEBUGです。これにより、デバッグシンボルを有効にしてDLLを構築し、.pdbファイルを生成する必要があります。その後、いつものようにプロセスにアタッチすることができます(Visual C++デバッガからこれをやり直さなければならないかもしれません---もう一度IDEでうまく動作しません)、DLLの関数にブレークポイントを設定します。

0

サミュエル・スレイドの答えは1つの明確で正しいです:

私は、Visual Studio 2010を使用して、いくつかのC#コードからATL/MFC C++ COMオブジェクトに、デバッグしようとしていた私は、プロジェクトごとに別々のソリューションを持っていたことができませんでしたそれを機能させる。上記のように、両方のプロジェクトを1つのソリューションに入れ、でアンマネージコードデバッグを有効にすると、すばらしく機能しました。

したがって、両方のプロジェクトを1つのソリューションに詰め込むとうまくいくはずです。

関連する問題