apollo 8.0 使用vscode debug调试

使用vscode连接docker,后参考自动驾驶开发者说|框架|如何用vscode调试apollo? - 知乎进行配置。

  1. 启动apollo容器,我这里是使用软件包安装,直接aem start即可
  2. 先使用vscode插件连接到docker
  3. (这一步我不确定是不是需要)选择Open Container Configuration File
{
	"extensions": [
		"BazelBuild.vscode-bazel",
		"DamianKoper.gdb-debug",
		"eamodio.gitlens",
		"GitHub.vscode-pull-request-github",
		"Gruntfuggly.todo-tree",
		"jeff-hykin.better-cpp-syntax",
		"mhutchie.git-graph",
		"MS-CEINTL.vscode-language-pack-zh-hans",
		"ms-vscode-remote.remote-containers",
		"ms-vscode-remote.remote-ssh",
		"ms-vscode-remote.remote-ssh-edit",
		"ms-vscode-remote.remote-wsl",
		"ms-vscode.cmake-tools",
		"ms-vscode.cpptools",
		"ms-vscode.cpptools-extension-pack",
		"ms-vscode.cpptools-themes",
		"ms-vsliveshare.vsliveshare",
		"twxs.cmake"
	],
	"workspaceFolder": "/apollo",
	"remoteUser": "ckh",
	"remoteEnv": {
		"HISTFILE": "/apollo/.dev_bash_hist"
	}
}

4.进入容器aem start

5. 使用debug模式编译代码,例如buildtool build --dbg -j 2 -m 0.5 -p modules/planning/

6.在vscode 中配置vscode的调试文件launch.json,参考如下:

{

// Use IntelliSense to learn about possible attributes.

// Hover to view descriptions of existing attributes.

// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

"version": "0.2.0",

"configurations": [

{

"name": "g++ - 生成和调试活动文件",

"type": "cppdbg",

"request": "launch",

"program": "/opt/apollo/neo/bin/mainboard",

"args": ["-d","/apollo/modules/planning/dag/planning.dag","-p", "planning", "-s"," CYBER_DEFAULT"],

"stopAtEntry": false,

"cwd": "${workspaceFolder}",

//"sourceFileMap": {

//"proc/self/cwd" : "/apollo_workspace/application-demo"

//},

"environment": [],

"externalConsole": false,

"MIMode": "gdb",

"setupCommands": [

{

"description": "为 gdb 启用整齐打印",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

],

// "preLaunchTask": "C/C++: g++ 生成活动文件",

"miDebuggerPath": "/usr/bin/gdb"

}

]

}

7.apollo是通过mainboard调用各个模块。先使用whereis mainboard找到可执行文件的路径。平时使用cyber调用模块cyber_launch start modules/planning/launch/planning.launch后,可用ps aux |grep mainboard查看命令。也可参考技术文档丨使用VSCode构建、调试Apollo项目

8.可在容器中使用gdb调试,gdb -q --args /opt/apollo/neo/bin/mainboard -d /apollo/modules/planning/dag/planning.dag ,打断点b modules/planning/planning_component.cc:50,然后r,正常调试。

9.或者直接在vscode中打断点调试。

可能出现的问题

  1. "type": "cppdbg"的类型不受支持,vscode下载 C/C++ Runner.
  2. docker中未有gdb,sudo apt install gdb
  3. debug时无法打开文件,在launch.json中设置cwd,或者sourceFileMap解决。参考连接Vscode 附加进程调试_vscode附加到进程_Supreme_Julyan的博客-CSDN博客

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Apollo是一个来自华为的开源项目,是一个面向大规模机器学习的高效神经网络训练框架。而VSCode是一款由微软开发的轻量级代码编辑器。所以,Apollo VSCode Debug指的是在使用Apollo框架进行开发时,通过VSCode编辑器来进行调试。 在进行Apollo VSCode Debug之前,需要进行一些准备工作。首先,确保已经安装了VSCode编辑器以及相应的Apollo插件。其次,需要有一个Apollo的项目代码,在VSCode中进行打开。 接下来,我们可以通过以下几个步骤来进行Apollo VSCode Debug。 第一步,配置调试环境。在VSCode的工具栏中选择"调试",点击"添加配置"。在弹出的配置文件中,填写相关的调试信息,例如调试模式、入口文件等。这些信息将用于配置调试器。 第二步,设置断点。在代码中选择想要调试的位置,点击行号旁边的空白区域,添加断点。断点将会在程序执行到该处时暂停,方便我们对代码进行调试。 第三步,运行调试。点击VSCode工具栏中的"调试"按钮,选择刚刚配置的调试环境。然后,点击"开始调试"。Apollo框架会在VSCode中启动,并根据我们的配置信息运行。 第四步,调试代码。当程序执行到我们设置的断点位置时,会自动暂停运行。这时,我们可以通过在VSCode中的调试面板上看到当前的变量值、堆栈信息等。通过逐步执行、观察变量变化等方式来调试代码。还可以使用控制台面板来输入调试命令,与程序进行交互。 最后,我们可以根据调试过程中的问题,对代码进行修改和优化。在调试结束后,点击调试器面板的"关闭"按钮,结束调试状态。 通过ApolloVSCode中进行调试,可以提高开发效率,快速定位问题,促进代码的开发和调试过程。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值