调试扩展时如何打印变量?

How can I print variables when debugging an extension?

我正在通过使用“调试”>“按 PID 或名称附加到进程”来连接到我的 UNNotificationServiceExtension 实现(这让我花了很长时间才弄清楚),但当我的断点被击中并且我尝试 po 一个变量,我得到如下输出:

(lldb) po response      // `response` is a `NSURLResponse`, so I would expect it to be available to the debugger by way of `Foundation`.
warning: Swift error in module
MyExtensionProxy(0x00000001000e8000).
Debug info from this module will be unavailable in the debugger.

warning: Swift error in module
MyExtension(0x0000000100118000).
Debug info from this module will be unavailable in the debugger.

error: in auto-import:
failed to get module 'MySharedFramework' from AST context
(lldb) 

我找不到任何关于如何解决这些框架运行时错误的信息,因此调试几乎是不可能的。我怎样才能使这些模块在调试器中可用并能够 po 我的对象?

使用Xcode8.1

我自己也在经历同样的过程。要 post 在这里为您和所有其他搜索。在排除了所有可能性之后,这个小东西就成功了 -

当您单击 "Debug > Attach to Process by PID or Name" 时,您会看到这个小弹出窗口 window 以插入您的 PID 或进程名称。在这个 window 中有一个名为 "Toolchain" 的组合框。对我来说,它被设置为 "Xcode 8.1"。单击此组合框可打开更多可能性,其中包括 "Xcode 8.1 (Swift 2.3)"。选择此设置后,我可以在 Swift 模块中查看运行时变量。