我正在尝试在设备上调试我的应用程序时设置观察点。我无法在 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 的设备上设置观察点,但在两者上都遇到了同样的问题。
最佳答案
在 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个watchpoints。
关于ios - 无法在 gdb 或 lldb 中设置观察点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427496/