如何使用 nm 递归搜索特定符号?

如何使用 nm 递归搜索特定符号?

我想在所有目标文件中从我所在的目录递归地找到符号“start”。我想我可以使用nmor readelf,但我是 shell 新手,不了解如何从手册中执行此操作。

答案1

你可以使用这样的东西:

find . -type f \( -executable -o -name \*.o \) -exec nm -A {} + | grep start

这将找到所有可执行文件或目标文件,并nm -A在它们上运行,将结果通过管道传输到grep.

您可以调整它来查找其他文件。对于库(.so等),您应该使用nm -A -D(列出动态符号)。该-A选项使nm文件名在每一行重复,以便过滤后的输出仍然有用。

相关内容