于是之前有吐槽过 macOS 没有 ldconfig 没有 ldd 怎么调试呢?

又不是不能用。

自然是有替代品的,替代品叫 otool [1]

otool 必须要安装 CommandLineTools 或者直接装 Xcode。

想列出依赖的库, 直接 otool -L <file> 就可以了。

otool -l <file> 则是可以列出 Mach 的加载命令。

ldconfig 的话直接用 sudo update_dyld_shared_cache 就好了。

顺便推荐几个有趣的工具,分别是 otx 还有 class-dump

otx 相当于一个简易的反编译器,高级版的也有,叫 Hopper Disassembler ,不过太贵了,小的程序用用 otx 已经够了。

class-dump 则是可以列出头文件,对于逆向工程很有用。


  1. 1.其实 /usr/bin/otool 只是一个 wrapper , 真正的在 /Library/Developer/CommandLineTools/usr/bin/otool/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool。 而这种的程序都依赖 xcselect,可以可以看下 xcrunxcode-select

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.