vscode调试cpp

现在我有一个项目,使用cmake编译,现在想探究源码需要进行debug。

首先按项目cmake得到可执行文件,然后编辑vscdde中的launch.json,这个文件就是在运行或者调式的时候,通过json定义好各种参数配置启动。

json 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
        "args": ["-d","best.engine","images"],  //这里定义好了可执行文件的参数
        "name":"test",							//运行或者debug项目的名字(随便)
        "type": "cppdbg",
        "request": "launch",
        // "program": "${fileDirname}/${fileBasenameNoExtension}",	// 这里可以通过${}自动定位可执行文件
        "program": "${fileDirname}/build/yolov5_det",   //也可以直接指定可执行文件所在
        "cwd": "${fileDirname}",
        "setupCommands": [                             // 这里是为了解决调试时看不到变量的问题 https://blog.csdn.net/u011622208/article/details/132083666
            {
                "description": "Test",
                "text": "python import sys;sys.path.insert(0, '/usr/share/gcc/python');from libstdcxx.v6.printers import register_libstdcxx_printers;register_libstdcxx_printers(None)",
                "ignoreFailures": false
            },
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
        
    }]
}

本质上debug就是带入json配置的参数,去启动program定义的可执行文件。所以如果修改了源码,必须再次编译产生新的可执行文件,然后再调试,否则改动是没有生效的。

相关推荐
缘来如此0936 分钟前
mysql--核心日志文件详解
数据库·mysql
电商API_1800790524738 分钟前
电商数据分析之自动获取数据的技术手段分享
大数据·数据库·数据挖掘·数据分析
MilesShi38 分钟前
RAG:解锁大语言模型新能力的关键钥匙
数据库·人工智能·语言模型
gsfl3 小时前
Redis 缓存
数据库·redis·缓存
恒悦sunsite9 小时前
Ubuntu之apt安装ClickHouse数据库
数据库·clickhouse·ubuntu·列式存储·8123
奥尔特星云大使9 小时前
MySQL 慢查询日志slow query log
android·数据库·mysql·adb·慢日志·slow query log
来自宇宙的曹先生10 小时前
MySQL 存储引擎 API
数据库·mysql
间彧10 小时前
MySQL Performance Schema详解与实战应用
数据库
间彧10 小时前
MySQL Exporter采集的关键指标有哪些,如何解读这些指标?
数据库
weixin_4462608510 小时前
Django - 让开发变得简单高效的Web框架
前端·数据库·django