如果查看文件的字节,我肯定会在其中看到一些函数名称.
有什么工具可以帮我列出它们吗?
甚至他们的参数呢?
这应该在目标文件或库中打印所有已定义的符号.
nm -C --defined-only /usr/lib64/libQtCore.so
nm有很多选项可用于过滤符号,例如-g仅用于显示全局符号,-l用于打印行号(如果您已使用gcc -g启用调试符号)等等.
如果您使用的是ELF格式的二进制文件(看起来像您的情况),则也可以使用readelf
readelf -Ws /usr/lib64/libQtCore.so
此输出中的列号8包含感兴趣的符号名称.您可以使用c filt对名称进行解密:
readelf -Ws /usr/lib64/libQtCore.so | awk '{print $8}' | c++filt
readelf -Ws /usr/lib64/libQtCore.so | grep _ZNK9QMimeData4dataERK7QString