这是一个使用 cocoapods 的 iOS 应用程序。Xcode 14 和 Xcode 13.4.1 行为相同。我正在使用静态库。
使用 Xcode 14 新的 lldb cmd swift-healthcheck,打印
“SwiftASTContextForExpressions::LoadOneModule() -- 缺少通过 SwiftDWARFImporterDelegate“导入”的“短视频”的 Swift 模块或 Clang 模块。提示:使用 -add_ast_path 向链接器注册 Swift 模块。”
如何使用 -add_ast_path 向链接器注册 Swift 模块。
参考:WWDC 2022 Video Debug 使用 LLDB 进行 Swift 调试
如果您正在调试依赖子项目或框架内的 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)
}
Run Code Online (Sandbox Code Playgroud)
(lldb) po message
error: Couldn't realize type of self
Run Code Online (Sandbox Code Playgroud)
好的:
@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)
}
Run Code Online (Sandbox Code Playgroud)
(lldb) po message
"This is the line I am logging"
Run Code Online (Sandbox Code Playgroud)