lldb.macosx.crashlog 在哪里?
Where is lldb.macosx.crashlog?
总结
lldb
脚本 lldb.macosx.crashlog
有一些错误阻止我调试我的崩溃。我想找到这些脚本的源代码并修复它们。他们在哪里?
我使用如下命令查看了 /Applications
、/Library
和 ~/Library
:
sudo find /Library -name 'lldb.macosx.crashlog*'
详情
WWDC 2018 414 video titled Understanding Crashes and Crash Logs 在 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 文件(因为 bitcode)和你上传到 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
命令。
总结
lldb
脚本 lldb.macosx.crashlog
有一些错误阻止我调试我的崩溃。我想找到这些脚本的源代码并修复它们。他们在哪里?
我使用如下命令查看了 /Applications
、/Library
和 ~/Library
:
sudo find /Library -name 'lldb.macosx.crashlog*'
详情
WWDC 2018 414 video titled Understanding Crashes and Crash Logs 在 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 文件(因为 bitcode)和你上传到 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
命令。