【发布时间】:2014-10-09 20:53:34
【问题描述】:
我正在尝试使用 Xcode 的 LLDB 控制台来更改变量。我想使用断点的调试器命令来执行此操作,因此我的程序执行永远不会停止,我想手动更改变量。我正在使用 Xcode 6。
使用表达式命令,我可以看到变量在 Xcode 中的变化。我的断点位于检查 myBoolValue == NO 上。如果我在发出表达式命令后检查 myBoolValue 的值,Xcode 会告诉我该值为 NO,但 if 语句永远不会正确评估,并且永远不会执行“做整洁的事情”。
我的 LLDB 表达式来更改变量: expr myBoolValue=NO;
当我执行此命令时,lldb 会回显以下内容: (BOOL) $0 = 否
我在这里遗漏了什么,为什么我看到 myBoolValue 发生了变化,但 if 语句中的代码从未执行?
编辑:如果我使用 Xcode(不使用 LLDB expr 命令)更改值,if-check 仍然无法正确评估。我确信 Xcode 在后台发出的命令与我从 lldb 提示符发出的命令相同,但 if-check 从未正确评估仍然很奇怪。
编辑 2:这是汇编代码。我已编辑问题中的代码以匹配此程序集的代码。基本上是一样的,但我的整洁的东西是 NSLog 语句。
【问题讨论】: