一些GDB调试的命令。
编译
在进行程序调试之前,首先要对程序编译。与正常编译相比,调试编译时要加上一些选项。举例如下。
$gcc -g -Wall program.c -o program
# -g 调试选项。作用是在可执行文件中加入源代码的信息,比如可执行文件中第几条机器指令对应源代码的第几行,但并不是把整个源文件嵌入到可执行文件中,所以在调试时必须保证 gdb 能找到源文件。
# -Wall 该选项会打开所有warning,以发现程序中存在的bug。ps:W是大写。
多个文件编译

启动、退出GDB调试
在按照上步编译好后,会生成相应的可执行文件。如下图所示。然后,执行 “gdb + 可执行程序”,就进入到了调试界面。输入 quit 或 q 退出调试。如下图。

设置参数,显示参数
给程序设置参数,显示设置的参数,程序启动调试的命令如下。可以看到设置好参数后,直接输入run程序就执行了,按照设置的参数执行。注意,退出调试后再进入则原先设置的参数无效。

查看源代码(list命令)
$list/l #列出当前行上下附近的代码,默认显示10行。
$list/l n #list + 行号,列出指定行代码
$list/l 函数 #list + 函数名,列出指定函数的代码
#设置查看的行数
set list/listsize n
show list/listsize #显示当前list/listsize设置值,退出调试后设置失效。
如下。

查看别的文件的源代码
$l/list 文件名:n #n是行号
$l/list 文件名:函数名
如下:

设置端点

调试


1166

被折叠的 条评论
为什么被折叠?



