在Xcode中的选择器上添加符号断点

Rog*_*ger 9 xcode lldb

我的应用程序中存在一个错误,它显示以下(部分)堆栈跟踪:

2011-11-25 01:55:59.760 Events2[6650:403] -[Event boolValue]: unrecognized selector sent to instance 0x7fb903928670
Run Code Online (Sandbox Code Playgroud)

为了调试这个,我决定在 - [Event boolValue]上添加一个符号断点,推断当发送该选择器时,调试器将停止.

然而,没有任何反应.在设置断点之后,应用程序只需士兵并生成相同的异常而不会停止.

我已经定义了断点如下:

在此输入图像描述

我正在使用带有Xcode 4.2的LLDB调试器

Mar*_*n R 10

在选择器上设置断点会导致lldb在执行该选择器时停止,而不是在发送时停止.在你的情况下,没有选择器" - [Event boolValue]",因此这个断点永远不会被击中.

我会在"所有Objective-C Exceptions"上设置一个异常断点.当抛出"无法识别的选择器发送"异常并且您可以看到问题发生的位置时,将会遇到此问题.


Can*_*pus 6

我正在寻找相同的答案(符号断点),这个链接帮助:http: //www.cocoabuilder.com/archive/cocoa/308967-symbolic-breakpoints.html#308970

您必须遵循此模式(它也在Xcode断点编辑器中作为占位符给出):

- [name_of_the_class name_of_the_method:]
Run Code Online (Sandbox Code Playgroud)

例如,我正在寻找谁设置我的左栏项目并覆盖我的设置,我用过 -[UINavigationItem setLeftBarButtonItem:]

它起作用了.或者这个

-[UINavigationController pushViewController:animated:]


Bal*_*ala 6

我会用这个符号设置一个符号断点 -[NSObject doesNotRecognizeSelector:] 在此处输入图片说明

这将帮助我们捕获针对错误对象调用选择器的情况。