概述
在软件开发的过程中,对于复杂的程序调试是非常重要的一步。在使用 vscode 进行 c++ 开发时,可以通过配置远程调试的方式来实现在远程服务器上进行程序的调试。本篇文章将介绍如何配置 vscode 中的远程调试,并实现 c++ 的远程调试。
准备工作
在开始配置远程调试前,需要先完成以下准备工作:
1. 安装 OpenSSH 服务端
由于本次远程调试是基于 SSH 协议的,因此需要在远程服务器上安装 OpenSSH 服务端。在 Ubuntu 中,可以通过以下命令来安装 OpenSSH 服务端:
sudo apt-get install openssh-server
2. 安装 gdb
gdb 是 Linux 下的一个调试工具,它可以帮助用户调试程序。在 Ubuntu 中,可以通过以下命令来安装 gdb:
sudo apt-get install gdb
3. 安装 C/C++ 拓展
在使用 vscode 进行 c++ 开发时,需要先安装 C/C++ 拓展。在 vscode 中,点击“Extensions”按钮,在搜索框中输入“C/C++”进行搜索,点击“Install”进行安装。
配置远程调试环境
在完成上述的准备工作后,就可以开始进行远程调试的配置了。具体操作步骤如下:
1. 在远程服务器上配置 SSH
在远程服务器上,需要先配置 SSH,以便于本地计算机可以通过 SSH 连接到远程服务器。具体配置方法如下:
1. 进入远程服务器
2. 执行以下命令,编辑 SSH 配置文件
sudo vi /etc/ssh/sshd_config
3. 修改配置文件,找到以下内容:
#PasswordAuthentication yes
将“#”号去掉,并将“yes”更改为“no”,变为以下内容:
PasswordAuthentication no
4. 在配置文件的末尾添加以下内容:
# Allow remote debugging with gdb
AllowTcpForwarding yes
X11Forwarding yes
5. 将修改保存并退出文件。
6. 重启 SSH 服务
sudo systemctl restart sshd
2. 在本地计算机上配置 SSH
在本地计算机上配置 SSH,并在 VSCode 中配置远程连接。
1. 在终端中输入以下命令,生成 SSH key
ssh-keygen -t rsa
2. 安装 sshpass
首先在终端输入以下命令更新软件包:
sudo apt-get update
接着,在终端输入以下命令安装 sshpass:
sudo apt-get install sshpass
3. 配置 SSH 连接
在 VSCode 编辑器的顶部栏中,点击“File”按钮,选择“Preferences”下的“Settings”。在搜索框中输入“remote”,找到“Remote-SSH: Config File”并点击它的右侧的“Edit in settings.json”按钮,打开配置文件。
在配置文件中添加以下内容:
{
"remote.SSH.configFile": "/Users/xxx/.ssh/config",
"remote.SSH.showLoginTerminal": true,
"remote.SSH.remoteServerListenOnSocket": true,
"remote.SSH.defaultExtensions": [
"ms-vscode.cpptools"
]
}
其中,“remote.SSH.configFile”是你的 SSH 配置文件路径,“remote.SSH.defaultExtensions”是你需要安装的拓展,即 C/C++ 拓展。
4. 添加 SSH 配置
在 config 文件中添加以下内容:
Host your_host_name
HostName your_host_name
User your_user_name
Port your_port_number
IdentityFile /path/to/your/private/key
其中,your_host_name 是远程服务器的 IP 地址或主机名,your_user_name 是您在远程服务器上的用户名,your_port_number 是远程服务器的 SSH 端口号,/path/to/your/private/key 是本地计算机上密钥文件的路径。
5. 使用 VSCode 远程连接
在 VSCode 编辑器的左侧栏中,点击第二个图标,选择“Remote-SSH: Connect to Host”,然后选择刚刚配置的主机名,输入您在远程服务器上的密码,即可连接到远程服务器。
进行远程调试
在成功连接到远程服务器后,可以开始进行远程调试了。
1. 打开需要调试的 c++ 文件。
2. 在顶部菜单栏中,选择“Run” -> “Add Configuration”。
3. 在弹出的编辑器中输入以下内容:
{
"name": "C++ Remote Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/path/to/your/executable/file",
"miDebuggerServerAddress": "localhost:1234",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": false,
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb"
},
"osx": {
"MIMode": "lldb"
},
"windows": {
"MIMode": "gdb",
"miDebuggerPath": "C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gdb.exe"
}
}
其中,“name”可以自行定义,作为配置文件的名称。在“program”中请填写您的可执行文件的路径,而“miDebuggerServerAddress”则为 gdb 服务的监听地址,请将其设置为您的远程服务器的 IP 地址后面加上随机的端口号,如“localhost:1234”。
4. 在代码中设置断点,在 VSCode 的调试面板中选择“C++ Debugger(Remote)”并开始调试。
总结
本文详细介绍了如何在 VSCode 中配置远程调试,并使用 c++ 文件进行远程调试。在实际开发过程中,远程调试可以大大提高开发效率,特别是当代码比较复杂时,远程调试就显得尤为重要。希望本文的介绍可以帮助读者更好地了解 VSCode 中的远程调试功能。