none
自作ローダーでロードしたDLLについてVSデバッガーにLOAD_DLL_DEBUG_EVENTを通知する方法 RRS feed

  • 質問

  • LoadLibrary系APIでDLLをロードした場合はLOAD_DLL_DEBUG_EVENTタイプのデバックイベントがVSデバッガーに通知され、VSデバッガーによってシンボル情報が読み込まれると認識しています。

    自作ローダーでロードしたDLLについてVSデバッガーにLOAD_DLL_DEBUG_EVENTタイプのデバッグイベントを通知する方法(API、プロセス間通信など)はありますでしょうか?

    また、プロセス固有のモジュールリストに対象DLLが含まれていなくてもVSデバッガーにシンボル情報を読み込ませる事は可能でしょうか?

    環境はアンマネージVC++2016 Windows7です。

    ご助言よろしくお願い致します。

    2017年7月16日 3:41

すべての返信

  • 過去のスレッドを読み返してみましたが、1つコメントしていないことを思い出しました。

    そもそも自作ローダーでロードしたDLLをデバッグする必要があるのでしょうか? ビルドオプションなどで標準ローダーと自作ローダーを切り替え可能にしておいて、デバッグ時には標準ローダーを使用し、リリース時は自作ローダーに切り替えれば済みませんか? このように実現しておけば、「自作ローダー」自身のテスト・デバッグを行えば十分です。

    2017年7月16日 4:15
  • 回答いただきありがとうございます。

    現在まではデバック時はLoadLibrary()系でロードし、リリース時は自作ローダを用いていて特に問題は生じていません。

    でも、LoadLibrary()と自作ローダーの差異などの原因でデバックバージョンでは問題がなくてもリリースバージョンで問題が生じるケースも考えられ、自作ローダーでロードした場合でもデバッグできる方が好ましいと思い質問いたしました。

    アドバイスいただければ幸いです。

    2017年7月16日 5:27