[英]Switch to Objective-C mode in lldb
当我用Xcode调试Swift应用程序时,调试器期望Swift格式的表达式。 如何将其切换为期望使用Objective-C表达式?
例如,我希望能够键入expr id $foo = [[SomeClass alloc] initWithBar:@"quux"];
而不是Swift的等效形式。
从WWDC 2018 使用Xcode和LLDB进行的高级调试表明,可以使用以下命令完成此操作:
expression -l objc -O -- [doYourStuff here]
但是要注意的是,从Swift切换到Objective C框架会创建一个新上下文 。 实际上,这意味着您可能会遇到类似以下的错误:
error: use of undeclared identifier 'self'
为了避免这个问题,你需要附上任何varables,那需要上下文改变之前进行评估,在反引号`
。 例如:
expression -l objc -O -- [`self` class]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.