使用 Visual Studio 调试 DLL

Visual Studio 支持使用调试器附加到正在运行的进程。有关该功能的详细说明,请参阅 Visual Studio 文档附加到正在运行的进程。下面使用使用 DLL章节中添加的策略演示调试过程。

  1. 要附加到进程并开始调试 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 代码中设置断点。如果 Studio 已进入调试模式,且断点显示为红色实心图标 Designer 使用 Visual Studio 调试 DLL 方块 03,表示已加载正确版本的 DLL。如果断点显示为红色空心图标 Designer 使用 Visual Studio 调试 DLL 方块 04,则表示加载了错误版本的 DLL。

  3. 本例在 public void ProcessCandle(Candle candle) 方法的第一行设置断点。当策略在 Designer 中运行,并开始向 DLL 传递K线值时,Visual Studio 会在断点处停止。此后即可跟踪代码执行过程:

Designer 使用 Visual Studio 调试 DLL 方块 05

Warning

代码在调试器中暂停时,Designer 内部的所有进程也会暂停。如果程序连接到真实交易环境,长时间停留在断点处可能导致连接中断。

另请参阅

导出策略