2009-07-22 101 views
79

,这是由布拉德·拉尔森回答这个 SO问题如何添加一个断点到objc_exception_throw?

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

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

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

+0

任何人都有XCode 4的截图/菜单路径? – buildsucceeded 2011-09-10 12:19:02

+2

查看Apple Dev论坛上的此主题以获取有关如何在XCode 4中执行此操作的说明:https://devforums.apple.com/thread/68421 – 2011-10-18 19:12:24

回答

81

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

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

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

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

alt text

+0

感谢您的非常明确的答案 – 2009-07-23 10:27:00

+0

这真的很有帮助,谢谢// :) – Spanky 2009-11-11 03:08:46

+0

工程很棒。感谢细节。 – 2010-09-22 18:26:55

4

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

45

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

enter image description here

6
在Xcode 6

- 从顶部菜单

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

相关问题