vscode使用gdb调试Linux C++程序
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
环境:
OS:Ubuntu 20.04
cmake: 3.16.3
编译器:g++ 9.3.0
调试器:gdb 9.1
vscode:1.63.2
创建时间:2022-01-19
前言
linux下使用gdb调试程序是一个基本操作。本文介绍使用vscode + gdb调试C++的cmake工程。
1. 下载和安装vscode
wget https://az764295.vo.msecnd.net/stable/899d46d82c4c95423fb7e10e68eba52050e30ba3/code_1.63.2-1639562499_amd64.deb
镜像加速
wget https://vscode.cdn.azure.cn/stable/899d46d82c4c95423fb7e10e68eba52050e30ba3/code_1.63.2-1639562499_amd64.deb
安装
sudo dpkg -i code_1.63.2-1639562499_amd64.deb
如果缺少依赖可用如下命令修复
sudo apt --fix-broken install
2. 编写测试程序
目录结构:
$ tree
.
+--- .vscode
| +--- launch.json
+--- CMakeLists.txt
+--- myprint.cpp
+--- myprint.h
+--- test.cpp
test.cpp
#include "myprint.h"
int main()
{
int num = 1;
myprintf(num);
return 0;
}
myprint.h
void myprintf(int num);
myprint.cpp
#include <iostream>
void myprintf(int num)
{
std::cout << "num: " << num << std::endl;
}
3. 编译源码
注意:必须生成Debug模式,否则无法调试
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug
建议使用CMake Tools进行编译。
linux下验证应用程序是否为debug版本:
readelf -S test | grep debug
4. vscode配置C++调试环境
- 安装C++插件
安装 Visual Studio Code调试插件C/C++ extension for VS Code
- 安装cmake插件【可选,便于编译】
安装 Visual Studio Code调试插件CMake Tools
- 创建调试启动文件
【Run(Ctrl + Shift + D)】-> 【create a launch.json file】-> 【C++ (GDB/LLDB)】
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/test",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
- 调试
设置断点,在vscode中按F5进行调试。
vscode左侧有变量、监视、调用堆栈、断点和Modules信息。
License
License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
Reference:
NULL