8.4. 列出源代码


查看您要调试的程序的源代码:

(gdb) list
Copy to Clipboard Toggle word wrap

在开始执行您要调试的程序之前,GDB 会显示源代码的前 10 行,最后使用这个命令的任何后续使用都会列出另一个 10 行。开始执行后,GDB 会显示与执行停止的行相关的行,通常是当您设置断点时。

您还可以显示与特定行周周围的代码:

(gdb) list file_name:line_number
Copy to Clipboard Toggle word wrap

同样,要显示与特定功能开头的代码:

(gdb) list file_name:function_name
Copy to Clipboard Toggle word wrap

请注意,您可以更改 list 命令显示的行数:

(gdb) set listsize number
Copy to Clipboard Toggle word wrap

例 8.4. 列出 fibonacci Binary 文件的源代码

例 8.1 “使用调试信息编译 C 程序” 中列出的 fibonacci.c 文件有 17 行。假设已使用调试信息编译了它,并且希望 gdb 实用程序能够列出整个源代码,您可以运行以下命令来将列出的行数更改为 20:

(gdb) set listsize 20
Copy to Clipboard Toggle word wrap

现在,您可以通过运行不带额外参数的 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      }
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat