8.4. 列出源代码
查看您要调试的程序的源代码:
(gdb) list
在开始执行要调试的程序前,g db
会显示源代码的前十个行,以及这个命令的后续使用列出了另外 10 行。开始执行后,g
db 会显示周围执行所在的行,通常是在您设置断点时。
您还可以显示括起特定行的代码:
(gdb) list
file_name:line_number
同样,要显示周围特定功能开头的代码:
(gdb) list
file_name:function_name
请注意,您可以更改 list
命令显示的行数:
(gdb)set
listsize
number
例 8.4. 列出 fibonacci Binary 文件的源代码
在 例 8.1 “使用调试信息编译 C 程序” 中列出的 fibonacci.c
文件准确有 17 行。假设您已使用调试信息并希望 gdb
实用程序能够列出整个源代码,您可以运行以下命令来将列出的行数更改为 20:
(gdb) set listsize 20
现在,您可以通过运行 list
命令且没有额外参数来显示要调试的文件的整个源代码:
(gdb) list
1 #include <stdio.h>
2 #include <limits.h>
3
4 int main (int argc, char *argv[]) {
5 unsigned long int a = 0;
6 unsigned long int b = 1;
7 unsigned long int sum;
8
9 while (b < LONG_MAX) {
10 printf("%ld ", b);
11 sum = a + b;
12 a = b;
13 b = sum;
14 }
15
16 return 0;
17 }