LLDB如何加载崩溃日志

Leo*_*o.J 6 xcode ios lldb

我正在研究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

我用错了吗?正确的使用方法是什么?

And*_*ves 4

我最近也遇到了同样的问题。不幸的是,在当前状态下,crashlog脚本似乎期望原始二进制文件存在,但我们可以通过以下任一方式“欺骗”它:

  1. 将二进制文件从内部复制.dSYM/Contents/Resources/DWARF/到它期望的路径中(在 .crash 文件中找到,类似/private/var/containers/Bundle/Application/SOME-UUID/MyApp.app/MyApp

  2. 在符号化到二进制文件的路径(例如 )之前编辑 .crash 文件中的路径(不仅仅是初始路径)~/MyFolder/MyApp.app/...

希望这可以帮助!