4

如果我查看文件的字节,我肯定可以看到其中的一些函数名称。是否有任何工具可以为我列出它们?也许甚至他们的参数也是如此?

4

1 回答 1

6

这应该打印目标文件或库中所有定义的符号。

nm -C --defined-only file.o

nm有很多选项可用于过滤掉符号,例如-g仅显示global symbols-l打印行号(如果您曾经gcc -g启用调试符号)等等。

如果你有一个 ELF 格式的二进制文件(看起来是你的情况),你也可以使用readelf

readelf -Ws file.o

此输出中的第 8 列包含感兴趣的符号名称。您可以使用c++filtdemangle 名称:

readelf -Ws file.o | awk '{print $8}' | c++filt
于 2013-03-04T02:08:25.773 回答