我正在关注WWDC会话412 – 在Xcode中进行调试.那里有一个关于为您自己的类创建自定义LLDB摘要的演示.
我根本无法得到摘要.
通过在Python脚本中插入print调用,我已经能够确定:
>脚本文件正在导入
> __lldb_init_module永远不会被调用
什么可以防止__lldb_init_module被调用?是否需要导入脚本的特定时间?
解决方法:
对我来说,这是通过添加
command script import /path/to/CustomSummaries.py
到〜/ .lldbinit文件并重新启动Xcode,或者在“main”中设置断点并在调试器控制台中执行import命令.
我用最小的自定义描述脚本测试了它:
import lldb
def myobject_summary(valueObject, dictionary):
return 'MyCustomDescription'
def __lldb_init_module(debugger, dict):
debugger.HandleCommand('type summary add MyObject -F CustomSummaries.myobject_summary')
这是Xcode调试器窗口中的视图:
请注意,您必须在更改脚本后重新启动Xcode.如果在Xcode调试器控制台中导入脚本,似乎也不会显示init方法中“print”语句的输出.