@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C#のexe⇒CLRのDLL⇒ネイティブC/C++のlibで、libのコード上のブレークポイントがヒットせず

1
投稿者投稿内容
おいたん
会議室デビュー日: 2008/03/10
投稿数: 15
投稿日時: 2008-05-27 15:22
VisualStudio2005で開発しています。

ネイティブC/C++で作成したlibに、CLRで薄いラッパをかぶせてDLLを
作成。このDLLをVC#で呼び出して処理させています。

すべてのプロジェクトが同一ソリューション下にある状況です。
ここで、VC#のデバッグ作業で、lib内のある部分にブレイクポイント
を設けて、処理の経過を確認したいのですが、デバッグを開始すると、
ブレイクポイントのマークに「!」がつき、ポインタをマークに合わせると
「現在の設定ではヒットしません」と表示され、処理が止まらずに
素通りしてしまいます。

上記のような状況で、ブレイクポイントで一旦処理をとめることは
できないのでしょうか。

以上、よろしくお願いいたします。

※なお、処理自体は正しく行われます。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-05-27 16:20
引用:

上記のような状況で、ブレイクポイントで一旦処理をとめることは
できないのでしょうか。



できます。

C# アプリケーションのプロジェクト設定の [デバッグ] ページで、「アンマネージ コード デバッグを有効にする」のチェックを有効にしてください。
おいたん
会議室デビュー日: 2008/03/10
投稿数: 15
投稿日時: 2008-05-27 16:40
渋木宏明(ひどり)様

ご回答いただき、ありがとうございます。
まさかC#アプリ側のプロジェクト設定だったとは。。。

おかげさまで解決いたしました。
ありがとうございました。

※ラッパのコード上ではブレイクポイントが有効だったため、
 てっきりCLRプロジェクトの設定にモレがあるのだと
 思い込んでおり、C#アプリのプロジェクト設定まで確認
 しておりませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)