我正在研究iOS崩溃分析。现在,我需要将崩溃日志文件导入LLDB。正如WWDC18 Session 414所说,我现在有一个myApp的副本dSYM xxx.crash。在 iTerm2.app 中运行以下命令:
$ lldb
(lldb) command script import lldb.macosx.crashlog
(lldb) crashlog /path/xxxx.crash
但是,堆栈跟踪文件不可用,并且只有很多错误,例如:
error: unable to locate any executables from the crash log
我使用错了吗?正确的使用方法是什么?
答案 0 :(得分:2)
我最近遇到了同样的问题。不幸的是,在当前状态下,crashlog
脚本似乎期望原始二进制文件存在,但是我们可以通过以下两种方法之一来“欺骗”它:
将二进制文件从.dSYM/Contents/Resources/DWARF/
内部复制到期望的路径(在.crash文件中,类似于/private/var/containers/Bundle/Application/SOME-UUID/MyApp.app/MyApp
之类)
在符号化二进制文件(例如~/MyFolder/MyApp.app/...
)的路径之前,在.crash文件中编辑路径(不仅是初始路径)。
希望这会有所帮助!