使用vscode查bug

具体操作

  1. 修改CMakeList.txt
cpp 复制代码
# set(CMAKE_BUILD_TYPE "Release")//注释Release模式
set(CMAKE_BUILD_TYPE "Debug")//设置为Debug模式
# set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")//注释

*这行代码是用来设置 CMake 构建系统中 Release 模式下 C++ 编译器的标志(flags)。
set: 这是 CMake 中用于设置变量的命令,它将一个变量设置为指定的值。
CMAKE_CXX_FLAGS_RELEASE: 这是一个预定义的 CMake 变量,用于存储 Release 模式下 C++ 编译器的标志。
"-O3 -Wall -g": 这是被设置的值,它是一个字符串,包含了一系列的编译器标志。具体解释如下:
-O3: 启用高级优化级别,这通常会提高代码的执行速度。
-Wall: 启用警告信息,让编译器产生更多的警告,帮助开发者发现潜在的问题。
-g: 在生成的可执行文件中包含调试信息,以便在调试时能够获取更多的信息。
因此,这行代码的作用是在 Release 模式下,为 C++ 编译器设置了一些优化和调试相关的标志,以提高代码性能并帮助调试。*
  1. 点击 creat a launch .json file. 在vscdoe右下角会出现一个蓝色按钮"Add Configuration",点击这个蓝色按钮,创建一个launch.json文件,该文件位于工作空间的.vscode隐藏文件夹下。launch.json文件内容默认如下:
cpp 复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}

  1. 以调试ROS程序为例,可以选择ROS: Attach 或 ROS: Launch。其中,ROS: Attach 表示对一个可执行节点(node) debug,ROS: Launch 表示对一个launch 文件 debug。
cpp 复制代码
自动补全选择 ROS: Launch 后的launch.json文件如下,在target: 粘贴launch文件的绝对路径
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [{
        "name": "ROS: Launch",
        "type": "ros",
        "request": "launch",
        "target": "absolute path to launch file"
    }]
}

然后点击这个三角按钮,程序运行,若出现bug, 可自动捕获异常

cpp 复制代码
自动补全选择 ROS: Attach 后的launch.json文件如下,这是需要rosrun pkg type,而后点击三角按钮 attach/连接 到这个节点, 程序运行,若出现bug,  可自动捕获异常
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [{
        "name": "ROS: Attach",
        "type": "ros",
        "request": "attach"
    }]
}
相关推荐
ykjhr_3d34 分钟前
展销编辑器在未来的发展前景
编辑器
2301_787552872 小时前
AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok的客户端开源应用程序,集成了 Monaco 编辑器。
人工智能·chatgpt·自动化·编辑器·deepseek
Java&Develop11 小时前
onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
前端·spring boot·编辑器
聂 可 以13 小时前
IntelliJ IDEA修改实体类成员变量的名称(引入了该实体类的全部文件也会自动更新变量的名称)
java·ide·intellij-idea
MoonBit月兔14 小时前
双周报Vol.70: 运算符重载语义变化、String API 改动、IDE Markdown 格式支持优化...多项更新升级!
ide·算法·哈希算法
心之所向,自强不息18 小时前
关于Android Studio的Gradle各项配置
android·ide·gradle·android studio
二狗哈19 小时前
制作一款打飞机游戏23:编辑器ui
ui·编辑器·excel
Ven%1 天前
VsCode如何使用默认程序打开word Excel pdf等文件
ide·vscode·pdf·编辑器
Silence4Allen1 天前
VSCode 设置源代码根目录
ide·vscode·python·编辑器·pythonpath
张3蜂1 天前
Jupyter Notebook 全面介绍:从原理到实战部署
ide·python·jupyter