如何添加一个断点到objc_exception_throw?
这是在这个SO问题上bradd larson的答案
如果添加两个断点,则应该能够debugging这些exception。 要做到这一点,去运行| 显示| 断点并创build两个全局断点(我在全局做这些断点,因为它们在我的所有应用程序中非常有用)。 第一个应该命名为“objc_exception_throw”,其位置应该是“libobjc.A.dylib”。 第二个应该是“ – [NSException raise]”,它的位置应该是“CoreFoundation”。
现在,如果您启用了断点debugging应用程序,则应该抛出这些exception。 然后,您应该能够看到在debugging器中导致exception的事件链。
现在在这个答案,我想问我如何添加位置提到?
我认为布拉德的回答很清楚, 希望这可以帮助,如果你不明确。
在Xcode中,从顶部菜单点击运行>显示>断点。 popup一个新窗口。
在左侧菜单中select“全局断点”。 在“断点”(Breakpoint)列下的右侧应该有一个框,其文本是“双击符号”(Double-Click for symbol)。 在此框中单击并键入“objc_exception_throw”。
然后,单击“位置”列下的“objc_exception_throw”旁边的空格。 会出现一个框让您input位置(在本例中为“libobjc.A.dylib”)。 我做了一个截图,希望可以帮助:
在Xcode 4中,可以通过断点部分的“+”button(⌘+ 6)添加这个很棒的断点,
在Xcode 6 – 从顶部的菜单
debugging>断点>创buildexception断点
我也想推荐添加+[NSException raise:format:arguments:]
断点,它的位置应该是CoreFoundation
。