突然我开始随机收到此消息(但很多时候)
表达式产生的错误:警告: /var/folders/53/0z4yfqt16tvbcn0z7f2385n80000gn/T/expr3-d271e2..swift:3:9: 警告:从未初始化变量'$ __ lldb_error_result' 用过的;考虑将赋值替换为“ _”或将其删除 var $ __ lldb_error_result = __lldb_tmp_error ~~~~ ^ ~~~~~~~~~~~~~~~~~~~ _
当我尝试在控制台中键入以下内容时:
po myObject
因此,控制台仅在上面打印消息,而不是给我一些有用的信息……如何解决此问题以及导致它的原因?
答案 0 :(得分:3)
lldb在Xcode 10.2中已更改。 Apple建议使用“ p”或更新的“ v”来查看变量的值。
LLDB调试器具有一个新的命令别名v,用于“框架变量”命令,以在当前堆栈框架中打印变量。因为v绕过了表达式求值器,所以v可以快很多,应该优先于p或po。 (40066460)
LLDB Tutorial中名为检查堆栈帧状态的部分中也提供了很好的信息。
frame variable命令还将对变量执行“对象打印”操作(当前,我们仅使用对象的“ description”方法支持ObjC打印。通过将-o标志传递给frame变量将其打开:
(lldb) frame variable -o self
(SKTGraphicView *) self = 0x0000000100208b40
<SKTGraphicView: 0x100208b40>
答案 1 :(得分:0)
看起来您正在使用swift。升级Xcode时,您会遇到这种错误,但是并没有使用新的工具集完全重建所有快速依赖项。如果在清理所有依赖项(包括所有Pod或迦太基模块等)并在本地重建它们后,仍然出现此错误,如果这是一个可以提供的项目,请使用{{3} }或http://bugs.swift.org,我们来看一下。
答案 2 :(得分:0)
使用debugprint命令代替po命令。
答案 3 :(得分:0)
@ mike-hay的回答,LLDB教程链接已更改为“ https://lldb.llvm.org/use/tutorial.html”,但是由于编辑时间太短,不允许我对其进行编辑,并且不允许对因为我名声太少而发帖...