vscode使用gdb调试Linux C++程序

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
                }
            ]
        }
    ]
}
  1. 调试

设置断点,在vscode中按F5进行调试。

vscode左侧有变量、监视、调用堆栈、断点和Modules信息。


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Reference:
NULL

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VS Code 是一个强大的代码编辑器,它提供了许多功能和扩展,允许我们与远程服务器进行连接并进行代码调试。以下是使用 VS Code 附加到远程调试 Linux C 程序的简要步骤和相关插件。 首先,我们需要在本地计算机上安装 VS Code,并确保已安装 C/C++ 扩展。打开 VS Code 后,转到左侧的扩展选项,并搜索 "C/C++",然后安装该扩展。 接下来,我们需要在远程 Linux 服务器上安装 gdb 调试器。如果还没有安装,请使用适当的包管理工具在服务器上安装 gdb。 然后,在本地计算机上打开 VS Code,按下 F1 键(或者使用 Ctrl + Shift + P 组合键),并输入 "Remote-SSH: Connect to Host",选择这个选项,然后输入远程服务器的 SSH 地址和凭据进行连接。 一旦成功连接到远程服务器,我们可以打开我们要调试的 C 代码文件,并在编辑器中设置断点。然后,按下 F5 键,选择 "C++ (GDB/LLDB)" 的调试配置,并等待 VS Code 启动调试。 VS Code 会自动附加到远程服务器上正在运行的 C 程序,并在我们设定的断点处暂停程序运行。从此处开始,我们可以通过使用 VS Code调试功能进行单步调试、观察变量值等操作来调试我们的代码。 总结来说,要在 VS Code 中附加到远程调试 Linux C 程序,我们需要安装 VS Code 和 C/C++ 扩展,然后在远程服务器上安装 gdb 调试器。通过连接到远程服务器并使用 VS Code调试功能,我们就可以方便地进行 C 代码的远程调试了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itas109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值