Binary 如何检测二进制/库中未定义的符号?
是否有一个工具可以获取二进制文件(可执行文件)或库,并查看任何共享库依赖项,查找并列出任何未定义的符号(即使未使用)?找到这个的任何实用方法?如果使用*nix,并且符号没有被去除,使用'nm'会有所帮助Binary 如何检测二进制/库中未定义的符号?,binary,shared-libraries,linkage,undefined-symbol,Binary,Shared Libraries,Linkage,Undefined Symbol,是否有一个工具可以获取二进制文件(可执行文件)或库,并查看任何共享库依赖项,查找并列出任何未定义的符号(即使未使用)?找到这个的任何实用方法?如果使用*nix,并且符号没有被去除,使用'nm'会有所帮助 # nm lib-or-binary-name U strcmp@@GLIBC_2.2.5 “U”表示未定义,如果在某个地方满意,则会在@之后注明。尝试将其链接到可执行文件?可执行文件可以引用链接时忘记的共享库中的符号很棒,这就是我要找的,谢谢!顺便说一句,-u选项已经为您提供了未定义的符号,
# nm lib-or-binary-name
U strcmp@@GLIBC_2.2.5
“U”表示未定义,如果在某个地方满意,则会在@之后注明。尝试将其链接到可执行文件?可执行文件可以引用链接时忘记的共享库中的符号很棒,这就是我要找的,谢谢!顺便说一句,
-u
选项已经为您提供了未定义的符号,并且-C
直接显示了demangles我发现除了“u”之外还有“B”T“V”,什么意思是“B”T“V”?非常感谢。