背景
gdbgui是一个基于浏览器得gdb前端,你可以使用它去调试C、C++、Go和Rust。为什么需要它呢,因为服务端开发程序的过程中往往无法使用图形化的节目,命令行及gdb自带的tui功能由不够直观,使用gdbtui,只需要我们能访问服务器就可以轻松的使用浏览器进行程序的调试。
安装
使用python的pip包管理工具,我们可以轻松安装gdbgui。
pip install gdbgui
实战使用
假如我们要调试下面这个C语言程序,这个程序将两个参数,将他们相加后打印输出结果。
#include <stdio.h>
#include <stdlib.h>
// 加法函数
int add(int a, int b) {
return a + b;
}
int main(int argc, char *argv[]) {
int num1 = atoi(argv[1]);
int num2 = atoi(argv[2]);
int sum = add(num1, num2);
printf("Sum: %d\n", sum);
return 0;
}
编译程序,添加-g添加调试信息。
gcc main.c -g -o add
执行gdbgui,调试1+2。
$ gdbgui add
浏览器打开输出的链接,看到以下调试界面,可以看到程序已经在main函数处默认设置了断点。
熟悉gdb的同学都知道,可以通过gdb命令行设置程序的参数。我们通过set args设置了参数,并通过show args查看了参数。
启动程序,输入指令run,可以看到程序已经停止在main函数处,
点击控制按钮可以单步、步入等方式调试程序。执行到第14行,可以看到局部变量已经被正确设置。
步过14行,可以看到输出窗口输出了正确的程序结果。
总结
本文介绍了gdbgui工具的安装及实战的用例,通过gdbgui可以极大的提升我们调试程序的效率。