objective-c - 如何向 objc_exception_throw 添加断点?

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

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

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

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

最佳答案

我认为布拉德的答案很明确;如果您不清楚,希望这会有所帮助。

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

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

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

https://stackoverflow.com/questions/1163981/

相关文章:

ios - AFNetworking 发布请求

objective-c - Objective-C中的ivars和属性有什么区别

iphone - NSTimeInterval 到 HH :mm:ss?

iphone - 如何找到 malloc "double free"错误的原因?

ios - 在自动布局中将 subview 的 X 居中抛出 "not prepared for t

objective-c - 我不想在开始更新、结束更新 block 中为 uitableview 设

objective-c - 标题中有两行文本的 UIButton (numberOfLines=2)

objective-c - .h 和 .m 文件中的@interface 定义之间的区别

ios - 没有为应用商店上的应用程序找到有效的 'aps-environment' 权利字符串

objective-c - Xcode 不断要求输入密码以使用系统钥匙串(keychain)