2

我想在变量更改时设置一个断点。例如:

......
if(downloader){
        [downloader addDelegate:sImageAutoSaver];
}
......

我想在下载器更改时破坏应用程序。因为我想知道谁更改了变量。

4

1 回答 1

10

如果下载器是 ivar 并且您使用的是 Xcode 4.4,则可以使用调试器控制台。init在此类的方法内或viewDidLoad(如果它是 ViewController)或一般情况下,在分配下载器之前放置普通断点。当在创建的断点处停止执行时,watch set variable -w write self->downloader在调试器控制台中键入。你会看到Watchpoint created: Watchpoint 1: addr = 0x092359b4 ...消息。接下来,按继续按钮,您的程序将在分配变量时停止。

在变量断点命中后,您将只看到程序集,尝试通过左侧导航面板上的执行堆栈查看应用程序的方法。

于 2012-08-20T11:26:31.947 回答