1

我正在开发一个大型(> 30k 行)事件驱动应用程序。我有一系列产生错误的输入。我想要做的是在最终输入进入我的代码后立即中断。

有没有一般的方法可以做到这一点?

我知道对于任何特定的输入序列,我可以找出最后一个输入将在哪里输入我的代码,然后在那里设置一个断点。我想做的是采取“找出最后一个输入进入我的代码的位置”的步骤。换句话说,我正在模拟器中运行应用程序,并且我想在某处设置一个标志,上面写着“下次你要输入非系统 Objective C 代码时中断”。然后我发送导致问题的事件。

4

2 回答 2

1

我明白你在问什么,但你试过使用异常断点吗?这基本上就像在抛出异常的代码段上自动插入断点一样。如果这对您不起作用,请尝试使用符号断点

于 2012-04-30T18:00:55.080 回答
0

如果你想拦截 UI 事件,你可以尝试继承UIWindow并覆盖它的sendEvent:方法,然后在你的主 XIB 文件中将这个类设置为 UIWindow 对象的类。sendEvent:每次用户生成触摸事件时都会调用。不幸的是,此时您还不知道哪个 UI 对象将最终使用该事件(阅读:最终将调用哪个事件处理程序代码),因为这取决于响应者链的实际状态。但无论如何,您可以使用此方法将事件注入系统。

于 2012-04-30T22:15:46.550 回答