如果我查看文件的字节,我可以肯定地看到那里的一些函数名称。 是否有任何工具可以为我列出它们? 也许甚至他们的参数呢?
答案 0 :(得分:3)
这应该打印目标文件或库中的所有已定义符号。
nm -C --defined-only file.o
nm
有很多选项可用于过滤掉-g
等符号,仅显示global symbols
,-l
以打印行号(如果您曾使用gcc -g
启用调试符号)等等。
如果你有一个ELF格式的二进制文件(看起来像你的情况),你也可以使用readelf
readelf -Ws file.o
此输出中的列号8包含感兴趣的符号名称。您可以使用c++filt
来取消名称:
readelf -Ws file.o | awk '{print $8}' | c++filt