我在我的iOS应用程序中有一个框架和动态库,该库是在另一台机器上编译的。
我在我的机器上签出了源代码并尝试使用以下命令指示lldb
将源代码路径映射:
settings set target.source-map /source/code/path/in/dylib/prefix /source/code/path/on/my/machine/prefix
还是徒劳无功,仍然看到了汇编代码。
备注#1:dylib从C++代码编译而来,使用的是相同版本的Xcode。
备注#2:我使用命令nm -pa /path/to/dylib
来确定文件路径是否嵌入调试信息中,它们确实被嵌入了,但lldb由于某种原因不能正常工作。
谢谢
更新
我按照Jim Ingham的答案创建了一个脚本来自动化这个过程,该脚本可在我撰写的文章中的gist链接中找到:https://medium.com/@maxraskin/background-1b4b6a9c65be
add-dsym
并指出了dSYM路径,然后我使用了image lookup -vn <SYMBOL_NAME>
来获取符号源代码路径,然后使用settings set target.source-map /path/prefix/i/got/from/lookup /path/prefix/on/my/machine
来更改映射。 - Max Raskin