Where is lldb.macosx.crashlog?



摘要

lldb脚本lldb.macosx.crashlog中有一些错误,使我无法调试崩溃。我想找到这些脚本的源代码并修复它们。他们在哪里?

我已经使用以下命令查看了/Applications/Library~/Library

sudo find /Library -name 'lldb.macosx.crashlog*'

详细信息

WWDC 2018 414名为了解崩溃和崩溃日志的视频称在lldb中运行command script import lldb.macosx.crashlog。这将导入一组脚本。

(lldb) command script list 
Current user-defined commands:
crashlog      -- For more information run 'help crashlog'
cstr_refs     -- For more information run 'help cstr_refs'
find_variable -- For more information run 'help find_variable'
malloc_info   -- For more information run 'help malloc_info'
objc_refs     -- For more information run 'help objc_refs'
ptr_refs      -- For more information run 'help ptr_refs'
save_crashlog -- For more information run 'help save_crashlog'
For more information on any command, type 'help <command-name>'.

WWDC视频中使用的主要脚本是crashlog,如下所示:

(lldb) crashlog /Users/jeff/Library/Developer/Xcode/Products/com.myapp/1.2.3 (4)/Crashes/AppStore/hash.xccrashpoint/DistributionInfos/all/Logs/LocallySymbolicated/date-uuid.crash

只要你有从App Store Connect下载的dSYM文件(因为比特码)和你上传到App Store Connect的文件系统中的某个地方的应用档案,crashlog脚本就会发现它们是可以的。

但是,会出现以下错误。

首先,在穿过";正在获取的符号"对于每个dSYM,它会提前停止并打印堆栈跟踪。

然后,它在线程0:中打印出大约8个调用的错误

error: python exception: can only concatenate str (not "NoneType") to str

最后,lldb处于disassemble不工作的状态。

在macOS上,如果您不确定文件名或位置,您可能会发现mdfind很有用;它使用与Spotlight相同的中央元数据存储。

运行:

mdfind -name crashlog

在我的机器上,列出(以及其他)这些相关文件:

/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/macosx/crashlog.py
/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python3/lldb/macosx/crashlog.py

这些提供了:

  • crashlog
  • save_crashlog

命令。

相关内容

  • 没有找到相关文章

最新更新