人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【プログラム(VB6)からDLL(VC6)を呼び出しDLL内に存在するブレークポイントでとめたい!!】

と思っているのですが、VB6からVC6のDLLの呼び出しができるのみでデバッグは出来ません。
デバッグを行うにはどのように設定すれば良いでしょうか?
アドバイス頂きたく宜しくお願いします。


現状:

・VCのDLLはデバッグモードで作成している
・VBの設定はとくになし
・デバッグは以下の手順で試みている

手順1:VC6メニュー→プロジェクト→設定→デバッグ→『デバッグセッションの実行可能ファイル(E)』で、DLLを呼び出すプログラムの設定
手順2:VC6からプログラムを起動する(この段階でVBで作成したDLLを呼び出すプログラムが表示される)
手順3:VBで作成したDLLを呼び出すプログラムからDLLのメソッドを呼び出す。
(DLLの結果は表示されるが、ブレークポイントでとまることがない)


●質問者: harunoharuno
●カテゴリ:コンピュータ インターネット
✍キーワード:DLL VB vb6 VC はと
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●500ポイント ベストアンサー

・VCのDLLはデバッグモードで作成している

VC6 の DLL をデバッグするには *.pdb(デバッグシンボルファイル)が必要です。

(通常、Debug 構成でビルドした場合は \Debug ディレクトリ配下に *.dll とともに出力されます。)

まずは、DLL に対応する *.pdb ファイルが存在するか確認してみてください。


以下は、デバッグ実行時に表示されるアウトプットウィンドウの表示例です。

<シンボルあるケース>
'<path>\Debug\DllName.dll' のシンボルを読み込みました
<シンボルが無いケース>
'<path>\Debug\DllName.dll' をロードしました、合致するシンボル情報は見つかりませんでした。

→ おそらく、このメッセージが表示されているのでは?と思います。


ちなみに、シンボルファイルには

のような情報が記録されています。


なお、DLL にデバッグ情報が含まれているかどうか?を確認するのであれば、

dumpbin.exe /headers <dllName> とすることで確認できます。

実際には「Debug Directories」のセクションに *.pdb ファイルのパスが表示されます。

<参考情報>
■ 実行ファイルにデバッグ情報が含まれるか確認する方法
http://social.msdn.microsoft.com/Forums/ja-JP/windowsgeneraldeve...

あと、コメント欄を開けていただければ必要に応じて、追記致します。

◎質問者からの返答

回答感謝です。

コメント欄を有効にしましたのでよろしくお願いします。

せっかく回答いただきましたがこの時間では調査する環境がありません(申し訳ありません)。

補うべき情報があるようですので

取り急ぎいくつかの状況を追加で説明いたします。


現在、VCのDLLのデバッグができないため

インターネットで見つけたサイトからサンプルを借り(ttp://www.geocities.jp/i_love_balard/myhome/vbdll.html)

機能を絞った状態で動作確認を行っています。

現時点では残念ながらVCでブレークポイントをつけても止まってくれません。

使わしていただいているサンプルのdebugにはmakedll.pdbが存在しているのでAPIの定義はできていると思うのですが、

dumpbin.exeの確認は本日12:00を超えないとできません。

VCのDLLでデバッグするサンプルになるようなもの、、、、、

もしくはデバッグするための方法を教えていただけると大変助かります。

気がつく点などございましたらまた回答よろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ