Apollo源码调试环境搭建

1. 前言

apollo自动驾驶框架是优秀的开源工程。作为自动驾驶开发人员,无论是架构设计还是算法细节的完善,apollo都有很多值得学习的地方。但是按照官方提供的GDB环境配置来看,复杂导致实际的调试效率低下。本文带你快速用vscode搭建起一个debug环境,快速上手使用apollo!

2. 基础环境安装

2.1 VS Code安装

vs code官网下载对应ubuntu系统的安装包,如下图所示:
在这里插入图片描述
在ubuntu系统中执行dpkp -i 命令进行安装。

2.2 必备插件

  • Dev Containers

  • Remote - SSH

  • C/C++

  • Clang-Format

  • CMake

  • EditorConfig

  • Protobuf VSC

  • vscode-proto

注:其余插件根据个人使用情况自行安装。

3. 调试环境配置

3.1 连接模式

  • 本机模式:VS Code 与 Apollo Docker 镜像部署在同一开发环境。

  • 远程模式:VS Code 与 Apollo Docker 镜像分属不同环境,需通过 Remote-SSH 远程连接 Apollo 所在主机。

3.2 配置过程

3.2.1 启动Apollo

根据Apollo安装文档,完成基础环境配置后,启动Apollo镜像,执行命令如下:

cd apollo-10.0/
./docker/scripts/dev_start.sh 

完成启动之后,可以使用docker ps查看所有已启动的apollo镜像。

3.2.2 关联连接

本机模式远程模式均需依赖 Dev Containers 插件,实现 Docker 环境访问。其中远程模式需额外安装 Remote-SSH 插件,先连接远程主机

3.2.2.1 本机模式操作步骤

VS Code 启动后,打开【远程资源管理器】→【开发容器】;若本地存在已启动的容器,页面将自动展示容器列表,如下图所示。
在这里插入图片描述

3.2.2.2 远程模式操作步骤

VS Code 启动后,打开【远程资源管理器】→【远程(隧道 / SSH)】→【新建远程】,如下图所示:
在这里插入图片描述

成功连接远程主机后,再打开【远程资源管理器】→【开发容器】;若远程环境存在已启动的容器,将自动展示容器列表,展示效果参考本地模式

3.2.2.3 关联容器

在【远程资源管理器】→【开发容器】中,选中需要关联的目标容器,鼠标【右键】→【在当前窗口附件/在新窗口中附加】,如下图所示。
在这里插入图片描述

3.2.2.4 添加关联容器配置

附加到目标容器后,点击命令列表,在弹出的窗口中点击【打开容器配置文件】,操作过程如下图所示:
在这里插入图片描述

配置文件打开后,添加如下配置内容,其中remoteUser为远程调试用户名(例如:ZhangSan),且配置的用户名一定要与实际使用的用户名一致,否则会引起连接失败

{
        "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_workspace",
        "remoteUser": "ZhangSan",
        "remoteEnv": {
                "HISTFILE": "/apollo_workspace/.dev_bash_hist"
        }
}

3.2.3 常见问题处理

初次配置时,常因忘记修改 remoteUser 参数,导致保存配置后重新进入容器失败,提示错误:no matching

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值