如何查看ELF文件中包含的函数名称和参数?

the*_*ser 4 linux cygwin elf

如果查看文件的字节,我肯定会在其中看到一些函数名称。有什么工具可以帮我列出它们吗?甚至他们的参数呢?

Tux*_*ude 6

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

nm -C --defined-only file.o
Run Code Online (Sandbox Code Playgroud)

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

如果您有ELF格式的二进制文件(看起来像您的情况),则也可以使用 readelf

readelf -Ws file.o
Run Code Online (Sandbox Code Playgroud)

此输出中的列号8包含感兴趣的符号名称。您可以使用c++filt该名称来分解:

readelf -Ws file.o | awk '{print $8}' | c++filt
Run Code Online (Sandbox Code Playgroud)