前期准备
由于我们是使用 SSH 连接远程服务器,因此 Windows 需要支持 SSH 。
可以通过安装 Git 来获取 SSH 功能,如何验证?使用 Win + R ,输入 cmd 打开控制窗口,直接输入 ssh ,如下提示,则代表 SSH 已经安装成功;

安装VSCode就不用我多做介绍了吧
安装插件
使用 VSCode 最方便的一点,就是有很多插件可供选择。
本次我们需要使用 Remote - SSH 插件,长这个样子,不要搞错了

同时还需要安装其他几个remote相关插件

安装完插件后,在侧边栏可以看到 “远程资源管理器” 图标。

添加配置文件
目的:配置 VSCode 连接远程服务器的一些基本信息。
1、点击左侧的 “远程资源管理器” 图标,点击右上角的小齿轮(设置)

2、在弹出来的窗口中,选择第一个 config 文件打开,参考下图,填写对应信息

(1)参考上述配置,释义如下
Host <远程主机名称>
HostName <远程主机IP>
User <用户名>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
- Host :连接的主机名称,可自定义;
- Hostname :远程主机的 IP 地址;
- User :用于登录远程主机的用户名;
- Port :用于登录远程主机的端口,SSH 默认为 22 ;
- IdentityFile :本地的私钥文件 id_rsa 路径;
(2)如果需要连接多个远程服务器,可参考如上内容,配置多个即可;
Host <远程主机名称1>
HostName <远程主机1 IP>
User <用户名1>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
Host <远程主机名称2>
HostName <远程主机2 IP>
User <用户名2>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
连接测试
1、进入 “远程资源管理器” 选项,右键点击主机名;
2、选择一种方式,连接到远程服务器,进行测试;
或者可以点击右侧的小图标进行连接

3、如果连接成功,左下角则会显示当前已连接的主机名。

4、连接后需要输入对应用户秘钥进行登录。
远程服务器插件安装
我们需要同时为远程服务器安装C/C++环境才可以进行gdb调试

上面部分为本地安装的插件,下半部分为远程服务器安装的插件
添加调试配置文件
在debug页面创建新的配置文件并填写如下内容
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name":"gaussdb",
"type": "cppdbg",
"request": "attach",
"program":"${workspaceRoot}/dest/bin/gaussdb",
"MIMode":"gdb",
"miDebuggerArgs": "-ex 'handle SIGUSR2 nostop noprint' -ex 'set print thread -envents off'",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly0flavor intel",
"ignoreFailures": true
}
]
}
]
}即可完成调试准备
debug页面会变成如下所示

点击右上角即可进行调试
此种调试方法可以直接方便地查看堆栈以及变量内容,同时也可以直接对远程服务器代码进行修改和保存
可能会遇到的问题
C/C++插件更新但是远端服务器无法同步更新:
1、可以将C/C++插件回退为对应版本
2、可以在官网下载最新的离线安装包
C/C++ - Visual Studio Marketplace

安装包下载远程服务器对应的系统,如Linux,通过SSH工具将安装包上传
并通过选项install from VSIX 进行离线安装,以达成两边都为最新版本





