如何向objc_exception_throw添加断点?

Rah*_*yas 80 iphone debugging xcode memory-leaks objective-c

这是从这个布拉德·拉尔森的答案 SO问题

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

现在,如果您在启用断点的情况下开始调试应用程序,它应该在抛出这些异常时中断.然后,您应该能够在调试器中看到导致异常的事件链.

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

h4x*_*xxr 81

我认为布拉德的答案非常明确; 希望如果你没有找到它,这可以有所帮助.

在Xcode中,从顶部菜单中单击Run> Show> Breakpoints.弹出一个新窗口.

在左侧菜单中选择"全局断点"."断点"列下的右侧应该有一个框,文本为"双击符号".在此框中单击,然后键入"objc_exception_throw".

然后,单击"位置"列下"objc_exception_throw"旁边的空格.将出现一个框,供您键入位置(在本例中为"libobjc.A.dylib").我制作了一个有希望帮助的截图:

替代文字

  • 在Xcode 4中,有一个断点导航器,您可以在其中添加这些. (17认同)

Val*_*lov 45

在Xcode 4中,可以通过Breakpoints部分的"+"按钮添加这个很棒的断点(⌘+ 6)

在此输入图像描述


use*_*138 6

在Xcode 6中 - 从顶部菜单

Debug> Breakpoints> Create Exception Breakpoint