无法在gdb或lldb中设置观察点

Cha*_*pta 4 debugging cocoa-touch gdb ios lldb

我正在尝试在设备上调试我的应用程序时设置观察点.我无法在gdb或lldb上设置它.

在lldb上,我没有watchpoint set在调试器中看到该选项,即使该页面提到它存在.当我尝试运行时watchpoint set,lldb告诉我该命令无效.

在gdb上,我确实设置了watchpoint(使用watch var),但是当我尝试继续执行时,我得到了这个:

Can't set hardware watchpoints without the 'Z2' (write-watchpoint) packet.
Run Code Online (Sandbox Code Playgroud)

我在gdb窗口中看不到其他输出,也不认为我可以与它进行交互.此应用程序也保持挂起.

我在OS X Lion上使用Xcode 4.3.2(4E2002).我尝试在iOS 5.1和iOS 5.0.1的设备上设置观察点,但两者都遇到同样的问题.

Jas*_*nda 7

在Xcode 4.5之前,使用lldb或gdb进行iOS开发不支持观察点.

使用Xcode 4.5,它们支持使用lldb进行iOS和Mac OS X调试.

在Xcode中,在locals窗口中,您可以右键单击/按住Control键并单击某个变量,并且可以选择在其上设置观察点.从调试器控制台,要在名为foo的变量上添加观察点,您可以这样做

(lldb) watchpoint set variable foo
Run Code Online (Sandbox Code Playgroud)

最短的明确命令在lldb中始终有效,所以这会做同样的事情,

(lldb) w s v foo
Run Code Online (Sandbox Code Playgroud)

当前的x86和arm cpus仅支持同时设置4个观察点.