我如何查看在分析@RPath引用到库时被搜索的应用程序中嵌入的位置列表



otool -L someApp显示了一堆称为

的框架
@rpath/../Frameworks/Blah.framework/...

我的理解是,加载程序/动态链接器使用嵌入在someApp中的位置列表来通过代替@rpath指令来替换框架来生成可能的路径。但是我不知道如何看到该位置列表。

那么我如何看到该列表?

该应用程序对RPATH构成的路径是其负载命令的一部分。您可以使用otool -lV <path>显示负载命令。加载命令添加路径的路径具有命令LC_RPATH。因此,要查看所有这些,您可以使用:

otool -lV <path> | grep -B 1 -A 2 LC_RPATH

所有的话,rpath是动态的。当一个过程加载库时,该库可以将内容添加到rpath中,至少是因为它取决于。

最新更新