4

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

watchpoint set在 lldb 上,即使此页面提到它存在,我也没有在调试器中看到该选项。当我尝试运行时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 的设备上设置观察点,但在两者上都遇到了同样的问题。

4

2 回答 2

7

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

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

在 Xcode 中,在 locals 窗口中,您可以右键单击/控制单击变量,然后会有一个选项来设置观察点。在调试器控制台中,要在名为 foo 的变量上添加观察点,您可以执行以下操作

(lldb) watchpoint set variable foo

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

(lldb) w s v foo

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

于 2012-10-17T02:22:18.753 回答
0

我在 Apple Dev Forums 的某处读到:“set 命令存在于主干版本中,但尚不存在于 Xcode 版本中。”

我也遇到了这个问题,我想监视一个变量并查看它的值在哪里变化......

于 2012-05-30T17:32:55.283 回答