所谓调试者,主要就是下断点、观察变量,不是太复杂的事情也不用太复杂的工具。
但具体到linux平台而言,gdb本来多敲几下命令也不是不可以的事,但是一个屏幕就那么大打印出一堆东西又乱又看不全,弄个图形界面还是好用一点。
kdbg就是Lniux平台的图形界面调试器。更准确而言,kdbg不是一个调试器只是gdb的一个前端图形界面,后面调用的还是gdb。
(所以要用kdbg要先装好gbd,gdb是随gcc安装的所以安装gcc应该就都有了)
apt-get install -y kdbg
debina类直接安装即可,其他各种安装参见链接
#include <stdio.h>
int main(){
int a = 1;
if (a>1){
printf("a is bigger than 1\n");
}
else{
printf("a is smaller than 1\n");
}
return 1;
}
想要使用kdbg调试,编译一定要使用-g选项。比如我以上代码保存为test.c编译输出为test.o:
gcc test.c -g -o test.o
直接在终端执行kdbg启动kdbg,初始界面如下。
点击“Executable”载入要调试的test.o,会同步载入源代码。在想要要中断的代码行下断点,然后点击“Run”即会运行到断点处。
我一直以为gbd(kdbg)是和ollydbg一类的逆向调试工具,现在看来只是和普通IDE一类基于源代码的断点调试工具。
参考: