Visual Studio で DLL をデバッグ

Visual Studio には、Visual Studio デバッガーを使用して実行中のプロセスへアタッチする仕組みがあります。Visual Studio デバッガーについては、ドキュメント 実行中のプロセスにアタッチ で詳しく説明されています。デバッグプロセスは、DLL の使用セクションで追加したストラテジーを例に示します。

  1. プロセスにアタッチして DLL ストラテジーのデバッグを開始するには、DLL がメモリに読み込まれている必要があります。DLL はストラテジーを追加した後にメモリへ読み込まれます。DLL がメモリに読み込まれたら、プロセスにアタッチできます。

Designer_Creation_Strategy_Dll_01

  1. Visual Studio で Debug -> Attach to Process を選択します。

Designer Visual Studio を使用した DLL キューブのデバッグ 00

  1. プロセスにアタッチ ダイアログボックスで、アタッチしたい Designer.exe プロセスを 利用可能なプロセス リストから探します。

Designer Visual Studio を使用した DLL キューブのデバッグ 01

プロセスが別のユーザーアカウントで実行されている場合は、すべてのユーザーのプロセスを表示 チェックボックスをオンにする必要があります。

  1. アタッチ先 ウィンドウで、デバッグする必要があるコードタイプが指定されていることが重要です。既定の 自動 パラメーターはデバッグ対象のコードタイプを判定しようとしますが、常に正しく識別できるとは限りません。コードタイプを手動で設定するには、次の手順を実行する必要があります。
  • Attach to フィールドで 選択 をクリックします。
  • コードタイプを選択 ダイアログボックスで これらのコードタイプをデバッグ ボタンをクリックし、デバッグ対象の型を選択します。
  • OK をクリックします。

Designer Visual Studio を使用した DLL キューブのデバッグ 02

  1. Attach ボタンをクリックします。

  2. Visual Studio でコードにブレークポイントを設定します。ブレークポイントが赤く、赤で塗りつぶされている場合 Designer Visual Studio を使用した DLL キューブのデバッグ 03(かつ Studio がデバッグモードの場合)、正確なバージョンの DLL が読み込まれたことを意味します。ブレークポイントが赤く、白で塗りつぶされている場合 Designer Visual Studio を使用した DLL キューブのデバッグ 04(かつ Studio がデバッグモードの場合)、誤ったバージョンの DLL が読み込まれたことを意味します。

  3. この例では、ブレークポイントは public void ProcessCandle(Candle candle) メソッドの最初の行に設定されています。ストラテジーが Designer で実行され、ローソク足の値が DLL に渡され始めるとすぐに、Visual Studio はブレークポイントで停止します。そこから、コードの実行を追跡できます。

Designer Visual Studio を使用した DLL キューブのデバッグ 05

Warning

デバッガー下でコードが停止している間、Designer プログラム内のすべてのプロセスは一時停止します。プログラムが実取引に接続されている場合、デバッガーで長時間停止すると切断が発生します。

関連項目

ストラテジーのエクスポート