DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DLLのデバッグ方法

  • 題名: DLLのデバッグ方法
  • 著者: なしが
  • 日時: 2005/03/08 18:31:16
  • ID: 9671
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[環境(Windows XP Pro)、使用言語(VB.NET, VC++.NET)、.NET Framework(1.1)]
分類:[.NET]

いつもお世話になっております。

VC++.NET作成のDLLのデバッグ方法について
教えていただきたいことがあります。

1つのソリューションに
・VB.NET:アプリ(下記DLLを呼ぶ)
・VC++.NET:Win32 DLL
の2つプロジェクトを入れています。

デバックするためにDLL側にブレークポイントを設定し、実行したのですが
ブレークポイントに?マークがついて処理が中断しません。

?マークにカーソルを合わせると、以下の内容が表示されました。
-----
ブレークポイントは、現在の設定ではヒットしません。
このドキュメントのシンボルが読込まれていません。
-----

いろいろ検索してみましたが、解決策が見つかりませんでした。

・アプリ/DLL共にDebugモードで作成しています。
・デバッグ情報のファイル(*.pdb)も作成されています。

ご存知の方がおられましたら、ご教授お願いします。
> 1つのソリューションに
> ・VB.NET:アプリ(下記DLLを呼ぶ)
> ・VC++.NET:Win32 DLL
> の2つプロジェクトを入れています。
>
> デバックするためにDLL側にブレークポイントを設定し、実行したのですが
> ブレークポイントに?マークがついて処理が中断しません。

プロジェクトのデバッガの設定を「混在」にすればできるかと。
>>1つのソリューションに
>>・VB.NET:アプリ(下記DLLを呼ぶ)
>>・VC++.NET:Win32 DLL
>>の2つプロジェクトを入れています。
>>
>>デバックするためにDLL側にブレークポイントを設定し、実行したのですが
>>ブレークポイントに?マークがついて処理が中断しません。
>
> プロジェクトのデバッガの設定を「混在」にすればできるかと。
>

ご連絡が遅くなりまして申し訳ありません。

DLL側のプロジェクトで下記のように設定を行いましたが、
DLLのデバッグ(ブレークポイントでの中断)が出来ませんでした。

・メニュー[プロジェクト]-[XXXのプロパティ]を選択し、
 プロパティページを表示して、[構成プロパティ]-[デバッグ]の
 [デバッガのタイプ]を混合に設定。

他の設定が悪いため、この設定が有効にならないのでしょうか?
原因が分かりましたら、教えていただけますでしょうか?

よろしくお願いします。
> DLL側のプロジェクトで下記のように設定を行いましたが、
> DLLのデバッグ(ブレークポイントでの中断)が出来ませんでした。

DLL と VB.NET アプリの、どっちをデバッグ起動していますか?

デバッグ起動する方のプロジェクト設定を変更してください。
>>DLL側のプロジェクトで下記のように設定を行いましたが、
>>DLLのデバッグ(ブレークポイントでの中断)が出来ませんでした。
>
> DLL と VB.NET アプリの、どっちをデバッグ起動していますか?
>
> デバッグ起動する方のプロジェクト設定を変更してください。

DLL側でデバッグ起動すると、VB.NET アプリが起動します。
DLL側のプロジェクトの「混合」設定は、前に記載した通りです。
ちなみに、VB.NET アプリ側のデバッグは出来ます。

逆に、VB.NET アプリ側でデバッグ起動した場合、
こちらでも、DLLのデバッグは出来ません。
VB.NET アプリ側のプロジェクトで「混合」設定は
設定箇所が見つからないため、行っていません。

情報が少ないかもしれませんが、何か分かりますでしょうか?
よろしくお願いします。
  • 題名: Re[5]: DLLのデバッグ方法
  • 著者: なしが
  • 日時: 2005/03/17 15:18:12
  • ID: 9881
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
とりあえず、解決(?)いたしました。

まず、VB.NET側のメニュー[プロジェクト]-[プロパティ]で
プロパティページを表示させます。
左側の構成プロパティのデバッグを選択し、下の方にある
有効にするデバッグの「アンマネージコードデバッグ」の
チェックをONにします。

上記の設定をすることで、DLL側でもブレークポイントで処理が
中断するようになりました(ちょっと重いですが)。
アンマネージコードデバッグについては、詳しい内容について
調べてみたいと思います。

渋木宏明(ひどり)さん、いろいろと情報を提供して頂き、
ありがとうございました。
また、お騒がせいたしまて、申し訳ありませんでした。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板