如何在Xcode 6调试器中查看Swift“let”的值

时间:2014-10-04 03:50:00

标签: swift xcode6 lldb

当我在Xcode 6中的调试器中停止时,如何查看用let声明的局部Swift常量的值?

如果我在Xcode 6中创建一个全新的Swift项目,并在app delegate中将以下两行添加到application(_:didFinishLaunchingWithOptions:)

let someConstant = 5
var someVariable = 6

...然后运行应用程序并在这些行之后立即中断,这是我在调试器的变量视图中看到的:

screenshot of variables view; someVariable shows 6 and someConstant is listed twice without showing its value

为什么变量显示其值,而常量不显示? (为什么常数列出两次?)

如果在LLDB控制台中,我在p上尝试pofr vsomeConstant所有正确显示价值someVariable),我得到以下内容:

screenshot of console; p and po both result in a "use of unresolved identifier" error and fr v displays someConstant as "empty constant data"

我知道我可以在源代码中使用println在调试器中打印该值,但我确实不必每次都有先见之明这样做只是想检查一下我声明为常量的值。 (即使在LLDB控制台中运行expr println(someConstant)也会生成相同的"未解析的标识符"错误为ppo。)

这应该很容易。我错过了什么?

1 个答案:

答案 0 :(得分:2)

这是Xcode中的一个错误,我可以确认它是在Xcode 6.1中修复的。 (谢谢Steve Rosenberg。)

这就是我现在得到的,正如预期的那样:

screenshot of console; p, po, and fr v now all display the value of someConstant in some way or another

此常量现在也在变量视图中正确显示,并且不再列出两次:

screenshot of variables view; someVariable shows 6 and someConstant shows 5