簡體   English   中英

LLDB po 報錯:expression failed to parse: error: Couldn't realize type of self

[英]LLDB po complain error: expression failed to parse: error: Couldn't realize type of self

這是一個使用 cocoapods 的 iOS 應用程序。Xcode 14 和 Xcode 13.4.1 行為相同。 我正在使用 static 庫。

使用 Xcode 14 個新的 lldb cmd swift-healthcheck ,打印

“SwiftASTContextForExpressions::LoadOneModule()——缺少 Swift 模塊或 Clang 模塊,為“短視頻”找到,通過 SwiftDWARFImporterDelegate“導入”。提示:使用 -add_ast_path 向 linker 注冊 Swift 模塊。”

如何使用 -add_ast_path 向 linker 注冊 Swift 模塊。

參考:WWDC 2022 Video Debug Swift debugging with LLDB

如果您在依賴的子項目或框架中調試 Swift 類,則該類必須具有@objc注釋,否則如果您嘗試從該類中的斷點檢查變量,則會收到此錯誤。

壞的:

public class Logger: NSObject {
    public static func debug(_ message: String, file:NSString = #file, function:NSString = #function, line:Int = #line) {
        log(message: message, file: file, function: function, line: line)
    }
(lldb) po message
error: Couldn't realize type of self

好的:

@objc public class Logger: NSObject {
    public static func debug(_ message: String, file:NSString = #file, function:NSString = #function, line:Int = #line) {
        log(message: message, file: file, function: function, line: line)
    }
(lldb) po message
"This is the line I am logging"

從 xcode -> 首選項 -> 位置:嘗試刪除派生數據文件的內容,之后它應該可以正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM