objective c 如何添加一个断点到objc_exception_throw?




objective-c iphone (4)

我还想推荐添加+[NSException raise:format:arguments:]断点,它的位置应该是CoreFoundation

这是布拉德拉森对这个SO问题的回答

如果添加两个断点,则应该能够调试这些异常。 要做到这一点,请转到Run | 显示| 断点并创建两个全局断点(我在全球范围内执行这些断点,因为它们在我的所有应用程序中非常有用)。 第一个应该命名为“objc_exception_throw”,其位置应该是“libobjc.A.dylib”。 第二个应该是“ - [NSException raise]”,它的位置应该是“CoreFoundation”。

现在,如果您启用了启用了断点的应用程序调试,它应该会抛出这些异常。 然后,您应该能够看到调试器中导致异常的事件链。

现在在这个答案我想问我如何添加位置提到?


Answer #1

在Xcode 6中 - 从顶部菜单

调试>断点>创建异常断点


Answer #2

我认为布拉德的回答很清楚; 希望这可以帮助,如果你没有找到清楚。

在Xcode中,从顶部菜单中单击运行>显示>断点。 弹出一个新窗口。

在左侧菜单中选择“全局断点”。 在“断点”栏右侧应该有一个框,并带有“双击符号”文本。 在此框中单击并键入“objc_exception_throw”。

然后,单击“位置”列下“objc_exception_throw”旁边的空间。 将出现一个框供您输入位置(在本例中为“libobjc.A.dylib”)。 我做了一个截图,希望可以帮助:


Answer #3

在Xcode 4中,可以通过断点部分的“+”按钮(⌘+ 6)添加这个伟大的断点,





memory-leaks