在vscode下的cmake项目里传参调试c++命令行程序

环境:Linux(Ubuntu)+Vscode+cmake

1、在vscode扩展里下载CMake Tools工具

2、确保项目为CMake项目

CMakeLists.txt 文件里确保为 Debug 编译:

cmake 复制代码
SET(CMAKE_BUILD_TYPE "DEBUG") # 设置编译类型为Debug
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") # 添加调试标志

3、开始编译传参调试

3、1编译

Ctrl+Shift+P 打开vsode命令窗口选择:CMake:Configure 会自动生成 build文件夹 完成cmake操作

上图是已经生成过的

应该显示:Build files have been written to:

3、2 生成

点击下方的 生成 完成make操作

在build文件夹会生成目标可执行程序

3.3、配置settings.json文件

按下 Ctrl+Shift+P,输入 "Open Settings (JSON)"

此处我显示的是: Preferences :Open Default Settings(JSON) 选择该选项

会生成一个.vscode文件夹里面有 settings.json 文件

参数通过args传入:假如程序是这样执行:./exe -e /path/infile.txt -o /path/output.bin 则需这样传入

json 复制代码
{
    "cmake.debugConfig": {
        "args": ["-e","path/infile.txt" ,
                 "-o","/path/output.bin"],
    }
}

/path/是你的文件路径

3.4、添加断点

在源代码文件里,数字行号前的小红点就是断点

3.5、调试

点击下方的小虫子图标,开始调试

注意

确保项目所需要的依赖已被安装完成

外链图片转存中...(img-nrunKaG4-1759730922780)

注意

确保项目所需要的依赖已被安装完成

相关推荐
库玛西10 分钟前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
面包狗AI4S16 分钟前
Codex/ChatGPT 反复 Reconnecting(正在重新连接) 5/5 的最简修复方法
人工智能·vscode·chatgpt
2402_8828938619 分钟前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
今天要早睡_44 分钟前
C++ 核心语法速过:命名空间、引用、函数重载与 nullptr 深度解析
android·java·c++
汉克老师1 小时前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程
闻缺陷则喜何志丹1 小时前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷
与自己和解7411 小时前
使用ssh实现 VScode 直连 ubuntu
vscode·ubuntu·ssh
汉克老师2 小时前
CSP-J 初赛(以满分为目标):第二十六课 《图的遍历——DFS深度优先搜索——从“树的先序遍历”走进真正的图世界》
c++·csp-j·小学生·学c++编程
程序猿编码2 小时前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型
影视飓风TIM2 小时前
C++哈希表深度剖析:冲突处理、rehash、迭代器与unordered容器封装
c++·哈希算法·散列表