swift - 如何使用 Swift 在 LLDB 中打印等效的 #line #file #function?
问题描述
在源代码中,如果我这样做:
print("\(#file) \(#line) \(#function)")
我得到如下输出:
MyFile.swift 31 doFoo()
但是,从 LLDB 中的断点开始,如果我执行类似操作:
(lldb) po "\(#file) \(#function) \(#line)"
我得到:
"<EXPR> $__lldb_expr(_:) 6"
有没有办法从后者获得像前者一样的输出?我知道你可以这样做:
(lldb) frame info
frame #0: 0x0000000102d92c46 MyApp `closure #2 in Client.fetchCart($0=(error_instance = 0x0000600000810be0 -> 0x0000000108e88cc0 (void *)0x0000000108e88ce8: __SwiftNativeNSError)) at Client+Cart.swift:21:23
...但是输出非常混乱。有没有办法把它清理成文件、行和函数?
解决方案
推荐阅读
- google-app-engine - Gcloud 应用程序部署 - .net HelloWorld 的问题
- python - 如何在不需要自变量的情况下使对象可访问?
- jekyll - 请给我一个合适的 Jekyll index.md?
- iterm2 - 添加提示背景色 iTerm
- javascript - 从扩展类 JavaScript 中获取静态类名
- python - 提取由一组节点引起的图子图的算法?
- asp.net - 使用 Rotativa 从 HTML 生成 PDF 时页眉重叠内容
- python - 用 C++ 编写的 Python 库,没有运行时可在 Windows 上再分发
- r - r glmmLasso : n %*% s 中的错误 (glmm.rmd#64): 需要数字/复数矩阵/向量参数
- html - 我试图让我的整个网页居中,但它不会让我