2.11 使用VisualGDB调试

# 2.11.1 VisualGDB介绍

VisualGDB是一款Visual Studio插件,安装以后可以在Windows系统上利用Visual Studio中调试远程的Linux程序,这样的好处就是可以利用Visual Studio强大代码阅读和调试功能阅读、调试Linux程序。可能有读者会说,从Visual Studio 2015开始,Visual Studio不是自带了调试Linux程序的功能嘛,为什么还要再装一款插件舍近而求远呢。很遗憾的是,经笔者测试Visual Studio 2015或者2017自带的调试Linux程序的功能很鸡肋,调试一些简单的Linux小程序还可以,调试复杂的或者多个源文件的Linux程序就力不从心了。VisualGDB是一款功能强大的商业软件,其官方网站是链接11。VisualGDB本质上是利用SSH协议连接到远程Linux机器上,然后利用Visual Studio产生相应的gdb命令通过远程机器上的gdbserver传递给远程的gdb调试器,而代码阅读功能是建立在samba文件服务器之上。

VisualGDB 官网:

https://visualgdb.com/ (opens new window)

官网提供了 30 天试用版,网上流传了一个破解版:

链接: https://pan.baidu.com/s/1UvhkbbqZ-W8uNUrLmA1zNw 提取码: 3cec

如果需要,请购买正版。

利用这个工具远程调试Linux程序的方法有两种:

# 2.11.2 利用 VisualGDB 调试已经运行的程序

如果一个Linux程序已经运行,可以使用VisualGDB的远程attach功能。为了演示方便,我们将Linux机器上的redis-server运行起来:

[root@localhost src]# ./redis-server 
1

安装好VisualGDB插件以后,我们在Visual Studio的 【Tools】 菜单选择 【Linux Source Cache Manager 菜单项,弹出如下对话框:

2.11.2 利用 VisualGDB 调试已经运行的程序(配图)

点击Add按钮,配置成我们需要调试的Linux程序所在的Linux机器地址、用户名和密码。

2.11.2 利用 VisualGDB 调试已经运行的程序(配图)

然后,在**【Debug】菜单选择【Attach to Process...】,弹出Attach To Process对话框,Transport类型选VisualGDB**,Qualifier选择刚才我们配置的Linux主机信息。如果连接没有问题,会在下面的进程列表中弹出远程主机的进程列表,我们选择刚才启动的redis-server,然后点击Attach按钮。

2.11.2 利用 VisualGDB 调试已经运行的程序(配图)

这样我们就可以在Visual Studio中调试这个Linux进程了。

2.11.2 利用 VisualGDB 调试已经运行的程序(配图)

# 2.11.3 利用VisualGDB从头调试程序

更多的时候,我们需要从一个程序启动处(main函数处)开始调试程序,如学习redis的源码。利用VisualGDB也是很方便的。在Visual Studio的**【DEBUG】菜单选择【Quick Debug With GDB】**菜单项。

在弹出的对话框中配置好Linux程序所在的地址和目录:

2.11.3 利用VisualGDB从头调试程序(配图)

点击Debug按钮,就可以启动调试了。

2.11.3 利用VisualGDB从头调试程序(配图)

我们的程序会自动停在main函数处,这样我们就能利用强大的Visual Studio对redis-server进行调试了。当然读者也可以在VisualGDB 提供的GDB Session窗口直接输入gdb的原始命令进行调试。

2.11.3 利用VisualGDB从头调试程序(配图)

当然,工具都不是完美的。VisualGDB也存在一些缺点,用这款工具调试Linux程序时可能会存在卡顿、延迟等现象。

上次更新: 2026/07/14, 19:37:40

社区交流

讨论与留言

前往 GitHub Issues →

本留言区仅对应当前文章,欢迎补充观点、提出问题或帮助修正文中疏漏。 留言由 GitHub/Gitalk 提供,需要使用 GitHub 登录。

最近更新
第 1 课:专栏导论与安全边界
07-01
第 3 课:安装编译与调试环境
07-01
第 4 课:第三方库下载、编译与依赖管理
07-01
更多文章>