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