为什么需要一个图形化调试环境?
使用通过打印 log 的方法进行调试,调试效率不高且不容易定位问题, 而通过 SSH 连接 Linux 终端直接使用gdb
调试,不仅需要记命令,而且在使用体验上也没有这么好,效率也不高,这时我们就需要搭建一个图形化调试环境来让调试程序变得更加方便。
通过 SSH 连接 Linux 终端直接使用gdb
调试:
VScode 图形化调试:
开始时需要安装的软件和插件
在 Windows 上需要安装 VScode。
在安装好 VScode 之后,还需安装 Remote Development 插件。
安装好以上软件和插件后,就可以使用 VScode 远程连接到 Linux 上了。
远程连接
SSH 的连接方式有两种,一种是账户密码,另一种是公私钥连接。这里推荐使用公私钥连接,因为后面远程调试过程会多个地方连接,需要多次输入密码比较麻烦,使用公私钥的话只需要配置一次就可以了,非常方便。
在远程 Linux 上生成公私钥对:
# 生成一对密钥, 在哪个机器生成都行
ssh-keygen -t rsa
# 公钥需要放到 Linux 执行环境里
# 假设生成的公钥是 "vscode_rsa.pub"
cat /root/.ssh/vscode_rsa.pub >> /root/.ssh/authorized_keys
chmod 644 /root/.ssh/authorized_keys
# 私钥需要留在 VSCode 一端 Windows 机器里
# 假设路径是 "D:/.ssh/vscode_rsa"
然后打开 VScode,点击侧边栏中的远程资源管理器图标,选择SSH Targets,点击加号:
按照username@ip
的格式添加,然后根据提示会看到远程连接的配置文件。或者直接在下面界面上加号旁边的齿轮,直接打开配置文件,按照下面的格式添加,在 IdentityFile
后面添加私钥的路径:
Host hostname
HostName xxx.xxx.x.xx
User username
IdentityFile "D:\.ssh\vscode_rsa"
配置好后就可以点击右侧图标进行连接了:
问题
如果在配置好进行连接的时候,VScode 的终端报错了:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&