# 开发与调试功能概述

客户在本地客户端完成对服务端功夫策略的远程开发、断点调试,有效提高策略调试工作的效率。

  1. 支持在内置的SmartX Studio中完成查看和修改策略内容、快速启停调试任务、更新保存策略文件等相关操作。
  2. Kungfu策略可以使用 python 或者 C++编程语言任意一种。两种语言的策略调试在插件安装和调试过程中有些区别,具体可以查看视频讲解。

# 视频讲解

跟随调试视频内容了解C++和python功夫开发与调试的相关操作。

# 一、调试前的准备工作

  1. C++和python调试所需的插件(按需要安装)

  2. 在SmartX远程调试窗口中,打开一个新的终端,输入以下命令:

调试1

  • 安装Python调试组件: /opt/kungfu/code_server/bin/code-server.sh --install-extension /root/.local/share/code_server_extensionRepo/ms-python.python-2022.18.2.vsix
  • 安装C++调试组件: /opt/kungfu/code_server/bin/code-server.sh --install-extension /root/.local/share/code_server_extensionRepo/codelldb-x86_64-linux.vsix

# 二、Python策略远程调试

# 策略上传

首先将Python程序及可能相关的配置文件放置到单独的文件夹中,然后进入功夫模块中,点击添加按钮,输入策略ID,选中策略入口python程序上传的策略文件。

调试2

# 远程调试

点击远程调试按钮启动策略进程,在SmartX Studio中设置断点,执行调试工作,如有代码修改,可实时同步保存,详细操作可查看视频讲解。

调试3

# 三、C++策略远程调试

# 策略上传

进入功夫模块中,点击添加按钮,输入策略ID,上传.so类型的动态库文件(在策略模板中提供,此处so文件是临时文件,上传到系统后需重新编译,此文件就会被重新覆盖)。上传的策略文件夹内容可参考下载SmartX提供模板文件的目录结构(如下图所示),策略模板可点此下载。在您进行策略逻辑编写时,只需要修改src文件夹中的cpp文件,其他直接使用模板文件即可(注意不要修改文件命名)。

调试3

# 远程调试任务

点击远程调试按钮,进入SmartX Studio。从终端菜单中,找到run task 运行任务并点击,根据需要选择以下四个调试相关任务。

  • 任务一Compile Debug & Start Strategy是编译调试和启动策略,在初次打开或策略文件发生修改的情况下,必须要使用任务一重新编译。
  • 任务二Start Strategy是启动策略。用于策略无改动的重新启动。
  • 任务三Stop Strategy是停止策略,对应断开调试的操作。
  • 任务四Compile Release & Start Strategy是编译发布版的策略,不涉及到调试内容,通常用于实盘运行。

调试4

# 附加进程

附加调试时,需要选择对应的进程号,可以按照策略名称(上传策略时,输入的策略ID)进行搜索匹配。在搜索结果中,选择进程号最大那个进程完成附加进程的操作。

调试5

  • 完成上述操作后,即可正常进行功夫服务端C++策略的断点调试工作。详细操作可查看视频讲解。

# 四、下载策略到本地

当开发调试完成策略以后,若需从服务端将策略下载到客户本地。既可以直接复制编辑器内容,也可以按图片功能下载。 调试6