当前位置:   article > 正文

Win10 WSL2 ubuntu20.04编译apollo_apollo8.0 vscode调试

apollo8.0 vscode调试

解决WSL2占用内存过大的问题

  1. 按下Windows R 键,输入 %UserProfile% 并运行进入用户文件夹
  2. 新建文件 .wslconfig ,然后使用记事本编辑
  3. 填入以下内容并保存, memory为wsl2分配的内存上限,可根据自身电脑配置设置
  1. [wsl2]
  2. memory=2GB # Limits VM memory in WSL 2GB, also can be set to other values
  3. swap=0
  4. localhostForwarding=true
  5. processors=2 # Makes the WSL 2 VM use two virtual processors, also can be set to other values

创建Apollo container

  1. cd apollo
  2. :bash docker/scripts/dev_start.sh

进入container

sudo bash docker/scripts/dev_into.sh

编译Apollo

进入container之后,编译Apollo,分为两种情况有GPU和无GPU:
1)有GPU

bash apollo.sh build_opt_gpu

2)无GPU

sudo bash apollo.sh build_cpu

apollo编译遇到的问题 

Apollo依赖protobuf库,而protobuf库依赖zlib库,而protobuf库安装时提供的zlib下载链接是上面这个。

解决方法是替换新的可用链接,具体就是修改Apollo项目文件夹中的.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_proto/proto/private文件夹里的dependencies.bzl文件,将"zlib"的部分改成以下即可。

  1. "zlib": {
  2. "sha256": "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
  3. "build_file": "@com_google_protobuf//:third_party/zlib.BUILD",
  4. "strip_prefix": "zlib-1.2.11",
  5. "urls": [
  6. "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
  7. ],
  8. }

VSCode调试

1. vscode下安装c++和docker相关的插件

2.  选择Containers

 3. 配置launch.json

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "(gdb) 启动",
  9. "type": "cppdbg",
  10. "request": "launch",
  11. "program": "/apollo/bazel-bin/cyber/mainboard",
  12. "args": ["-d","/apollo/modules/control/dag/control.dag"],
  13. "stopAtEntry": false,
  14. "cwd": "/apollo",
  15. "environment": [],
  16. "externalConsole": false,
  17. "MIMode": "gdb",
  18. "setupCommands": [
  19. {
  20. "description": "为 gdb 启用整齐打印",
  21. "text": "-enable-pretty-printing",
  22. "ignoreFailures": true
  23. },
  24. {
  25. "description": "将反汇编风格设置为 Intel",
  26. "text": "-gdb-set disassembly-flavor intel",
  27. "ignoreFailures": true
  28. }
  29. ]
  30. }
  31. ]
  32. }

参数解释:

"program":是可执行文件的的路径,在这个调试配置中,调用的是mainboard可执行文件,该可执行程序可以加载相关模块的dag文件,完成模块的启动和运行。

"args" :设置可执行文件的输入参数 "-d"为mainboard的参数,表明输入dag文件,

"/apollo/modules/perception/production/dag/dag_streaming_perception.dag为需要调试的dag文件,这个文件可以根据你自己的需要更改。

效果: 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/895072
推荐阅读
相关标签
  

闽ICP备14008679号