__lldb_init_module 何时被调用?

Mih*_*ian 5 python objective-c llvm ios lldb

我正在关注 WWDC 会议 412 - 在 Xcode 中进行调试。那里有一个关于为您自己的类创建自定义 LLDB 摘要的演示。

我根本无法显示摘要。

通过在 Python 脚本中插入打印调用,我已经能够确定:

  1. 正在导入脚本文件
  2. __lldb_init_module 从未被调用

知道什么可以阻止 __lldb_init_module 被调用吗?是否有特定时间需要导入脚本?

Mar*_*n R 4

对我来说,这通过添加起作用

command script import /path/to/CustomSummaries.py
Run Code Online (Sandbox Code Playgroud)

~/.lldbinit文件并重新启动 Xcode,或者在“main”中设置断点并在调试器控制台中执行导入命令。

我用最小的自定义描述脚本对其进行了测试:

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')
Run Code Online (Sandbox Code Playgroud)

这是 Xcode 调试器窗口中的视图:

在此输入图像描述

请注意,更改脚本后必须重新启动 Xcode。如果在 Xcode 调试器控制台中导入脚本,则 init 方法中“print”语句的输出似乎也不会显示。