1. 前言
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。
2. kdbg 安装使用
2.1 安装 kdbg
kdbg
是 gdb
的图形化界面的前端,在 Ubuntu 16.04.6 LTS
下,其安装方法如下:
$ sudo apt-get install kdbg
2.2 使用 kdbg
/* main.c */
#include <stdio.h>
int main(void)
{
printf("hello, world!\n");
return 0;
}
加上 -g
参数编译:
$ gcc -o main -g main.c
打开 kdgb
:
$ kdbg
然后点击 Executable
按钮加载可执行文件 main
:
然后点击 Run
按钮运行:
在代码第 5
行 设置一个断点,运行:
注意,如果不加上 -g 参数编译,将无法正常设置并触发断点
。
终端输出的提示信息 warning: GDB: Failed to set controlling terminal: 0peration not permitted
,不会影响使用,该错误信息的 strace
追踪输出如下:
open("/dev/pts/17", O_RDWR|O_NOCTTY) = 3
[......]
ioctl(3, TIOCSCTTY, 0) = -1 EPERM (Operation not permitted)
write(2, "warning: ", 9) = 9
write(2, "GDB: Failed to set controlling t"..., 64) = 64
write(2, "\n", 1) = 1
close(3) = 0
从上面的输出可以看出,这只是 gdb
在试图设置 /dev/pts/17
时,出现权限错误,这是 gdb
自身的问题: