LLDB如何加载crashlog
LLDB How to load crashlog
我正在研究 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
我是不是用错了?正确的使用方法是什么?
我最近遇到了同样的问题。不幸的是,在当前状态下,crashlog
脚本似乎期望原始二进制文件存在,但我们可以通过以下任一方式 "trick" 它:
将二进制文件从 .dSYM/Contents/Resources/DWARF/
复制到它期望的路径(在 .crash 文件中找到,类似于 /private/var/containers/Bundle/Application/SOME-UUID/MyApp.app/MyApp
)
在符号化为二进制文件路径之前编辑 .crash 文件中的路径(不仅仅是初始路径)(例如 ~/MyFolder/MyApp.app/...
)。
希望对您有所帮助!
我正在研究 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
我是不是用错了?正确的使用方法是什么?
我最近遇到了同样的问题。不幸的是,在当前状态下,crashlog
脚本似乎期望原始二进制文件存在,但我们可以通过以下任一方式 "trick" 它:
将二进制文件从
.dSYM/Contents/Resources/DWARF/
复制到它期望的路径(在 .crash 文件中找到,类似于/private/var/containers/Bundle/Application/SOME-UUID/MyApp.app/MyApp
)在符号化为二进制文件路径之前编辑 .crash 文件中的路径(不仅仅是初始路径)(例如
~/MyFolder/MyApp.app/...
)。
希望对您有所帮助!