vscode远程调试Linux开发机上的C++程序

一、什么是debug及编译型语言和解释型语言
debug是调试程序的功能、变量、逻辑,然后根据debug的情况来调整我们的程序。然而不同语言的dubug是不一样的,一般区分为编译型语言和解释型语言,编译型语言比如C++/C及Java等,其程序是编译成一个可执行程序后再执行。而解释型语言,如Python是一条一条语句执行。可以看出Python的调试比C/C++的简单得多。可以直接在IDE上进行调试。而C++等语言需要gdb等工具才可以调试,然而命令行的gdb调试不是很直观,本文使用vscode远程调试Linux上的开发机程序。
二、配置
需要使用 VS Code 的 Remote Development 扩展来连接到远程服务器并设置远程调试环境,以便在本地使用 VS Code 进行远程调试。以下是一个简单的示例:

1、在远程服务器上安装 C++ 编译器和 GDB 调试器:

sudo apt-get update
sudo apt-get install build-essential gdb
yum install gdb-gdbserver

2、在远程服务器上编写并编译一个简单的 C++ 程序,例如:

#include
#include
using namespace std;

void test(){
     static int num;
     num++;
}

int main(){
    thread t1(test);
    thread t2(test);
    t1.join();
    t2.join();
    return 0;
}

4、在本地安装 VS Code 和 Remote Development 扩展,并打开 VS Code。

5、在 VS Code 中按下 F1 键,输入“Remote-SSH: Connect to Host”并选择一个远程服务器。

6、输入 SSH 用户名和密码或者 SSH 密钥,连接到远程服务器。

7、在 VS Code 中按下 F5 键或者选择“Run”->“Add Configuration…”->“C++”来创建一个 C++ 调试配置文件。

8、修改调试配置文件launch.json,设置程序路径和调试器类型:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote C++ Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "miDebuggerServerAddress": "localhost:2345"
        }
    ]
}

**注意:**把配置文件中program项的${workspaceFolder}/a.out改为Linux上程序的目录,如我机器上的调试程序目录为/root/2023_study/C++_code/test。

其中,“program”字段应该设置为可执行文件的路径,比如本例中的“a.out”;“miDebuggerPath”字段应该设置为远程服务器上的 GDB 路径;“miDebuggerServerAddress”字段应该设置为运行 GDB 服务器的地址和端口号。

8、在远程服务器上运行 GDB服务器

gdbserver :2345 ./a.out

其中,“2345”是端口号,“./a.out”是可执行文件路径。

在 VS Code 中按下 F5 键或者选择“Run”->“Start Debugging”来开始远程调试。
在调试过程中,可以使用 VS Code 中的调试工具和窗口查看变量值、调用栈和代码执行流程等信息。需要注意的是,远程调试需要确保网络连接稳定和服务器配置良好,同时需要考虑程序运行时的状态和调试方法,以便快速解决问题。

三、结果展示
vscode远程调试Linux开发机上的C++程序_第1张图片
vscode远程调试Linux开发机上的C++程序_第2张图片
以下是 Visual Studio Code 中常用的调试快捷键:

启动调试(Start Debugging):F5

停止调试(Stop Debugging):Shift + F5

继续(Continue):F5

单步跳过(Step Over):F10

单步进入(Step Into):F11

单步跳出(Step Out):Shift + F11

断点开关(Toggle Breakpoint):F9

条件断点(Add Conditional Breakpoint):Ctrl + Shift + B

行断点(Add Inline Breakpoint):Ctrl + Shift + F9

快速重启(Restart):Ctrl + Shift + F5

进入/退出全屏调试(Enter/Exit Full Screen):Ctrl + Shift

你可能感兴趣的:(c++,c++,linux,vscode)