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左右空间,提取调整好硬盘容量
    Apollo 7.0 -使用vscode调试感知模块_第1张图片

  • enjoy

VSCode调试

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

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

  • vscode中 Attach to running container
    Apollo 7.0 -使用vscode调试感知模块_第2张图片

  • 调整配置文件
    Apollo 7.0 -使用vscode调试感知模块_第3张图片

    修改为

    {
      "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"
      }
    }

    主要的点有两个

    • remoteUser改成自己的

    • "workspaceFolder": "/apollo"

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

    修改为

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

    这里有三个要注意的点

    • "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可执行文件的话,安装一下

      sudo apt-get update
      sudo apt-get install gdb
  • 顺利的话就可以按F5愉快的进行调试了
    Apollo 7.0 -使用vscode调试感知模块_第4张图片

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

你可能感兴趣的:(Apollo分析,大数据,自动驾驶,Apollo,vscode,C++)