列出GDB中的可调用函数

时间:2012-03-14 14:27:22

标签: c gdb

在命令行中使用GDB,我有时会破坏某一行代码。在那个断点处,我可以调用函数,好像我的可执行文件包含了这个调用。

如何让GDB打印在给定断点处可调用的所有可能函数的列表?

2 个答案:

答案 0 :(得分:3)

您可以输入call,然后点击<tab>(直到显示列表)。这似乎列出了二进制文件中包含的函数。

答案 1 :(得分:1)

可调用函数的整个列表可能相当大。例如,它包括所有libc函数。相反,您可以开始键入功能名称并按Tab键以获得更短的列表。另请注意,全局变量和文件名也将与函数一起列出。

(gdb) call 'open
open              open_memstream    openat.c          opendir.c
open64            open_path         openat64          opendir@plt
open64.c          open_socket       openat64.c        openlog
open64@plt        open_translit     openaux           openlog_internal
open64_2.c        open_verify       openaux_args      opensock.c
open_2.c          open_wmemstream   openchild.c       
open_catalog.c    openat            opendir