【问题标题】:List callable functions from GDB列出 GDB 中的可调用函数
【发布时间】:2012-03-14 14:27:22
【问题描述】:

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

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

【问题讨论】:

    标签: c gdb


    【解决方案1】:

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

    【讨论】:

    • 您可以对 Cygwin 进行一些配置来启用它。 This page(ctrl+f 制表符补全)说明了将 "\t":menu-complete 添加到 .inputrc 文件的内容。
    【解决方案2】:

    可调用函数的整个列表可能相当大。例如,它包括所有 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           
    

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 1970-01-01
      • 2017-01-29
      • 2012-05-27
      • 2018-09-17
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      相关资源
      最近更新 更多