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

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

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

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

Attach ボタンをクリックします。
Visual Studio でコードにブレークポイントを設定します。ブレークポイントが赤く、赤で塗りつぶされている場合
(かつ Studio がデバッグモードの場合)、正確なバージョンの DLL が読み込まれたことを意味します。ブレークポイントが赤く、白で塗りつぶされている場合
(かつ Studio がデバッグモードの場合)、誤ったバージョンの DLL が読み込まれたことを意味します。この例では、ブレークポイントは public void ProcessCandle(Candle candle) メソッドの最初の行に設定されています。ストラテジーが Designer で実行され、ローソク足の値が DLL に渡され始めるとすぐに、Visual Studio はブレークポイントで停止します。そこから、コードの実行を追跡できます。

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