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

时间:2016-10-25 13:07:19

标签: ios debugging notifications ios10 ios-extensions

我使用Debug>连接到我的UNNotificationServiceExtension实现通过PID或名称附加到进程(这让我永远弄明白),虽然当我的断点被击中并且我尝试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我的对象?

1 个答案:

答案 0 :(得分:2)

使用Xcode 8.1

我自己正在经历同样的过程。要在这里发布这个以及所有其他搜索。消除了所有可能性之后,这个小事就成功了 -

当您单击“调试>附加到按PID或名称处理”时,您将获得此弹出窗口以插入PID或进程名称。在这个窗口中有一个标题为“Toolchain”的组合框。对我来说,它被设置为“Xcode 8.1”。单击此组合框可以打开更多可能性,其中包括“Xcode 8.1(Swift 2.3)”。选择此设置允许我在Swift模块中查看运行时变量。