查询.to文件符号

时间:2013-09-25 14:00:19

标签: ios objective-c unix llvm-clang

我的Xcode工作区中存在递归git子模块的问题。我认为llvm正在选择错误的.m文件。

我想通过显示对象二进制文件中可用的方法来确认这一点。

我知道我可以使用ar -t myarchive.a在静态库中显示.o个文件。有没有办法深入深入并显示特定.o?

上可用的方法符号

1 个答案:

答案 0 :(得分:1)

使用可以使用nm命令在.o.a文件中显示符号。有关详细信息,请参阅nm manpage

$ nm build/IoEvent.o

(剪辑)

---------------- T __ZN9ChessCore18ChessCoreExceptionC1EPKcz
---------------- T __ZN9ChessCore18ChessCoreExceptionD0Ev
---------------- T __ZN9ChessCore18ChessCoreExceptionD1Ev
---------------- D __ZN9ChessCore7IoEvent11m_classnameE
---------------- T __ZN9ChessCore7IoEvent3setEv
---------------- T __ZN9ChessCore7IoEvent5resetEv
---------------- T __ZN9ChessCore7IoEventC1Ei
---------------- T __ZN9ChessCore7IoEventC1Ev
---------------- T __ZN9ChessCore7IoEventC2Ei
---------------- T __ZN9ChessCore7IoEventC2Ev
---------------- T __ZN9ChessCore7IoEventD0Ev
---------------- T __ZN9ChessCore7IoEventD1Ev
---------------- T __ZN9ChessCore7IoEventD2Ev
---------------- T __ZNK9ChessCore18ChessCoreException4whatEv

如果您正在使用C ++(我知道您不是),那么您可以使用c++filt来解码这些符号名称:

$ c++filt  __ZN9ChessCore7IoEvent5resetEv
ChessCore::IoEvent::reset()