[英]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.