我们假设代码的目录为/root/skynet
,并且安装了编译skynet的相关工具,还在Linux上make编译了skynet。注意:如果是在其他机器上编译的话,编译时所在的目录要与服务器上的目录一样,需要配置对应映射目录,不然打不开对应的代码文件。
1. 准备工作
安装 Remote Development 扩展包
在 VS Code 中打开扩展市场,搜索并安装 Remote Development 扩展包。它包含 Remote - SSH 扩展,可以实现通过 SSH 连接到远程服务器。
安装 Remote Development 扩展包
2. 连接到远程 Linux 服务器(非WSL)
配置 SSH
确保可以通过 SSH 从 Windows 连接到 Linux 服务器,并配置好 SSH 密钥。VS Code 远程连接依赖 SSH,所以需要无密码或密钥认证登录。
SSH 配置文件(一般位于 C:\Users\Administrator.ssh\config)
Host testssh_server
HostName 192.168.10.143
Port 22
User root
IdentityFile "C:/Users/Administrator/.ssh/linux_login"
连接到远程 Linux 服务器
在 VS Code 左侧的“远程资源管理器”面板,选择上面配置的 Linux 服务器。vscode打开远程 linux SSH连接后,打开远程的代码的文件夹,切换对应的配置文件,远程启动 C/C++ Extension Pack 扩展包。
3. 连接到WSL Linux 服务器
在命令行中打开 WSL Linux,cd到代码目录,执行命令code .
,就会自动使用vscode打开WSL中的目录,并且第一次会自动安装相关工具。
4. 开始调试
配置调试器
创建或编辑 .vscode/launch.json 文件,添加以下示例配置来启动 C++ 应用:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach",
"type": "lldb",
"request": "attach",
"pid": "${command:pickMyProcess}"
},
{
"name": "Launch",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}/skynet/",
"program": "${workspaceFolder}/skynet/skynet",
"args": [
"${workspaceFolder}/etc/config_game_1"
],
"stopAtEntry": false,
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
]
}
开始调试
按 F5 开始调试。
这方法只能调试skynet的C代码