我正在尝试在设备上调试我的应用时设置观察点。我无法在gdb或lldb上设置它。
在lldb上,即使this page提到它存在,我也没有在调试器中看到watchpoint set
选项。当我尝试运行watchpoint set
时,lldb告诉我该命令无效。
在gdb上,我确实设置了观察点(使用watch var
),但是当我尝试继续执行时,我得到了这个:
Can't set hardware watchpoints without the 'Z2' (write-watchpoint) packet.
我在gdb窗口中看不到其他输出,也不认为我可以与它进行交互。该应用程序此时也保持挂起状态。
我在OS X Lion上使用Xcode 4.3.2(4E2002)。我尝试在iOS 5.1和iOS 5.0.1的设备上设置观察点,但两者都遇到同样的问题。
答案 0 :(得分:7)
在Xcode 4.5之前,使用lldb或gdb进行iOS开发不支持观察点。
使用Xcode 4.5,它们支持使用lldb进行iOS和Mac OS X调试。
在Xcode中,在本地窗口中,您可以右键单击/按住Control键并单击某个变量,并且可以选择在其上设置观察点。从调试器控制台,要在名为foo的变量上添加观察点,您可以执行
(lldb) watchpoint set variable foo
最短的明确命令在lldb中始终有效,所以这会做同样的事情,
(lldb) w s v foo
当前的x86和arm cpus仅支持同时设置4个观察点。
答案 1 :(得分:0)
我在Apple Dev论坛的某个地方读到了这个: “set命令存在于trunk版本中,但尚未存在于Xcode版本中。”
我也遇到了这个问题,我想要监视一个变量并查看其值的变化......