2009-06-24 90 views
18

我想用Xcode观察变量。我按照here中的说明,通过在断点暂停,选择运行>变量视图> ....但除了“启用数据格式化程序”之外,其余选项全部变灰。有任何想法吗?在Xcode中观察变量

我正在使用Xcode版本3.1.3。

+1

一旦你碰到一个断点,你应该能够将鼠标悬停在断点上,它将显示变量信息。 – zpesk 2009-06-24 20:03:34

+0

您确定您正在运行一个关闭优化的调试版本吗? – Dolphin 2009-06-24 20:18:50

+0

我试过一个调试版本而不是发行版,但问题依然存在。 – Stu 2009-06-24 20:29:50

回答

19

不幸的是,我还没有从运行菜单中创建观察点来为我工作。有一点需要注意的是,当一个变量超出范围时,观察点可能会失效。

如果您不介意深入一点,可以使用一些低级别的gdb命令为内存本身的地址设置一个观察点。例如,在您链接的指南中,它们显示如何观看变量path,该变量是值为0xbfffeb70的指针。手动设置该地址的观察点,请在后调试器控制台(其中印刷在调试输出)“(GDB)”的提示,并键入这样的事:

watch *((int*)0xbfffeb70) 

隐蔽语法是必要的,因为GDB期望输入为C表达式。详情请参阅visit this link并跳转到标题为的部分“使用硬件观察点”。 (我正在英特尔的一台机器上测试,不确定PowerPC如何处理它。)当您以这种方式设置观察点时,Xcode会在到达观察点时告诉您一个下拉列表,并告诉您值如何改变,以及gdb将在控制台中输出相同的信息。

7

我刚碰到这个问题。这是一个解决方案:右键单击变量名称并从出现的菜单中选择“在窗口中查看变量”。它应该在底部附近。

2

这里给出的答案只有在使用gdb编译器时才有效。对于那些正在寻找使用lldb编译器设置观察点的选项,我有一个坏消息:

即使lldb文档说你可以,它不是工作喷气机(XCode 4.3.2与lldb 3.1)。

结帐this电子邮件。相比gdb S中的lldb命令可以发现here

1

我试图XCode中5.算出这个我终于找到了“变量视图”按钮在输出控制台的右下角。它是左边的灰色小矩形,如果没有启用,则是右边的白色。我不确定这是否在XCode 3中,但我希望大多数人都升级了。

2

添加断点。右键点击调试区域的观察名单,并选择“添加表达......”

enter image description here

如果你得到一个不同的菜单,你必须点击关闭当前突出显示的变量,这样没有什么是当您点击右键时突出显示。