Apollo 7.0 -使用vscode调试感知模块

配置环境:

主机i7-11700 + RTX3070

Apollo使用gitee上最新版本的源码

(之前使用的是apollo6.0,配置调试好像和教程差别比较大)

docker安装apollo

docker,gpu驱动的这些基础安装都可以直接参考我之前的博客

写文章-CSDN创作中心

  • 在自己的目录下载源码 git clone https://gitee.com/ApolloAuto/apollo.git 克隆正常的话就应该是

  • 拉取镜像,构建docker 容器

    使用自带脚本bash docker/scripts/dev_start.sh

    第一次拉取需要一点时间,具体看网速决定

    构建之后就不要用这个命令了,不然会删除之前的容器,重新构建

  • 进入docker

    也是使用自带脚本bash docker/scripts/dev_into.sh

  • 编译带有调试信息的版本 在docker的/apollo目录下bash apollo.sh build_dbg

    第一次编译的话需要下载一些库、依赖环境,万一网络错误的话重试几次就好了(我没遇到但我同学遇到了),然后编译的过程是比较吃多核性能的,我11700搞完大概用了15min左右,笔记本的话建议调好风扇噪音以防"整个实验室侧目"

    以及,带调试信息的话,编译文件要60G左右空间,提取调整好硬盘容量

  • enjoy

VSCode调试

  • 在vscode中下载插件Remote-Containers\

  • 在普通终端中,start一下apollo的镜像

  • vscode中 Attach to running container

  • 调整配置文件

    修改为

    <span style="background-color:#f8f8f8">{
      "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": "fc",
      "remoteEnv": {
        "HISTFILE": "/apollo/.dev_bash_hist"
      }
    }</span>

    主要的点有两个

    • remoteUser改成自己的

    • "workspaceFolder": "/apollo"

  • 配置vscode的调试文件 点开vscode左侧的“运行与调试”,选择“生成配置文件launch.json”

    修改为

    <span style="background-color:#f8f8f8">{
        <span style="color:#aa5500">// 使用 IntelliSense 了解相关属性。</span>
        <span style="color:#aa5500">// 悬停以查看现有属性的描述。</span>
        <span style="color:#aa5500">// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387</span>
        <span style="color:#000000">"version"</span>: <span style="color:#aa1111">"0.2.0"</span>,
        <span style="color:#000000">"configurations"</span>: [
            {
                <span style="color:#000000">"name"</span>: <span style="color:#aa1111">"g++ - 生成和调试活动文件"</span>,
                <span style="color:#000000">"type"</span>: <span style="color:#aa1111">"cppdbg"</span>,
                <span style="color:#000000">"request"</span>: <span style="color:#aa1111">"launch"</span>,
                <span style="color:#000000">"program"</span>: <span style="color:#aa1111">"/apollo/bin/cyber/mainboard"</span>,
                <span style="color:#000000">"args"</span>: [<span style="color:#aa1111">"-d"</span>,<span style="color:#aa1111">"/apollo/modules/perception/production/dag/dag_streaming_perception.dag"</span>],
                <span style="color:#000000">"stopAtEntry"</span>: <span style="color:#221199">false</span>,
                <span style="color:#000000">"cwd"</span>: <span style="color:#aa1111">"/apollo"</span>,
                <span style="color:#000000">"environment"</span>: [],
                <span style="color:#000000">"externalConsole"</span>: <span style="color:#221199">false</span>,
                <span style="color:#000000">"MIMode"</span>: <span style="color:#aa1111">"gdb"</span>,
                <span style="color:#000000">"setupCommands"</span>: [
                    {
                        <span style="color:#000000">"description"</span>: <span style="color:#aa1111">"为 gdb 启用整齐打印"</span>,
                        <span style="color:#000000">"text"</span>: <span style="color:#aa1111">"-enable-pretty-printing"</span>,
                        <span style="color:#000000">"ignoreFailures"</span>: <span style="color:#221199">true</span>
                    }
                ],
                <span style="color:#aa5500">// "preLaunchTask": "C/C++: g++ 生成活动文件",</span>
                <span style="color:#000000">"miDebuggerPath"</span>: <span style="color:#aa1111">"/usr/bin/gdb"</span>
            }
        ]
    }</span>

    这里有三个要注意的点

    • "program" 可执行文件的路径,要修改为 "/apollo/bin/cyber/mainboard",和阿波罗开发者说的有些不同,mainboard这个可执行文件并不在bazel-bin中了,或许也可以改为/apollo/cyber-bin/cyber/mainboard/mainboard

    • "args" :设置可执行文件的输入参数 "-d"为mainboard的参数,表明输入dag文件式,"/apollo/modules/perception/production/dag/dag_streaming_perception.dag为需要调试的dag文件,这个文件可以根据你自己的需要更改。

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

      设置gdb调试器的路径

      如果在/usr/bin没有gdb可执行文件的话,安装一下

      <span style="background-color:#f8f8f8">sudo apt-get update
      sudo apt-get install gdb</span>
  • 顺利的话就可以按F5愉快的进行调试了

     可能会报车型错误之类的,这主要是因为没有在Dreamview选车型和地图啥的
    之后自己调试的时候,就按官网下载数据文件,选择地图就好了

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值