ros2下使用vscode调试gtest
·
万物看其本质。
1. 关于如何在ros2下写测试用例,请参照官网。
Writing Basic Tests with C++ with GTest — ROS 2 Documentation: Humble documentation
2. 在写完测试用例之后,进行编译,下面这个命令是编译指定包的debug版本同时编译测试用例。
colcon build --packages-select <your package name> --cmake-args -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Debug
3. 在编译完之后
在 workspace/build/<your package name>/ 目录下应该能找到测试程序。
4. 在ros2的官方教程里要想调试测试用例,是使用终端gdb调试,恩,不是高手,太麻烦,特别是调试大型的程序的测试的时候,比如 a*规划,还是用vscode断点调试方便。
这个时候其实就用vscode的调试功能直接调试生成的测试程序就可以。
在vscode 调试的launch.json中增加以下内容
{
"name": "test_a_star",
"type": "cppdbg",
"request": "launch",
"program": "/path/to/your/test/file",
"args": [],
"stopAtEntry": false,
"cwd": "/",
"environment": [],
"externalConsole": false,
"setupCommands": [
{
"description": "为 gdb 启动整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": false
},
{
"description": "将反编译风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": false
}
]
},
只需要把上面的name和program改成你自己的,其他的不用动。
然后就可以开心的在vscode里面单步调试,断点调试了。
更多推荐
所有评论(0)