Xcode 5.0 conditional breakpoints are not functional

Originator:owenimholte
Number:rdar://14788541 Date Originated:20-Aug-2013 02:07 PM
Status:Duplicate/14500240 Resolved:Fixed
Product:Developer Tools Product Version:5A11365x
Classification:Serious Bug Reproducible:Always
 
20-Aug-2013 02:07 PM Owen Imholte:
Summary:
Conditional breakpoints do not work (at all?) in Xcode 5.0.

First I thought it might be a problem with my syntax since this is a new endeavor for me (using conditionals in my breakpoints). The UI to create a conditional is very nice and straightforward, but they do not appear to work. The debugger only occasionally throws errors, for example if a nonexistent variable is used. I was trying to check if a given objective C object was NULL and it never was but the breakpoint continually paused execution regardless of syntax I tried. That led me to develop a simple test case attached where the conditional doesn't work as expected even for a simple integer value.


Steps to Reproduce:
Set a breakpoint with a condition that should evaluate as false (i.e. "i == 3" when "i" actually equals 2) and evaluate the method.

Expected Results:
Execution flow continues unless the conditional is true.

Actual Results:
Execution is paused. (Or the breakpoint "triggers" if the continue option is checked)

Regression:
This feature works as expected in Xcode 4 and fails in Xcode 5 DP5.

The attached project runs in both and has breakpoints to be observed in the didFinishLaunching method in the app delegate. The breakpoints should be included, but if they are not, created the following:

line 20: breakpoint with conditional "i == 1"
line 23: breakpoint with conditional "i == 1"

Only the latter is expected to stop, but in Xcode 5 they both do.

Notes:

Comments

Fixed in DP6

By owenimholte at Aug. 22, 2013, 11:43 p.m. (reply...)

For open radar: the code mentioned in the example project is:

18      NSLog(@"Starting breakpoint tests here.");
19      int i = 0;
20      NSLog(@"A line to put our breakpoint on. Not expecting the flow to stop here");
21      NSLog(@"The value of our integer: %d",i);
22      i = 1;
23      NSLog(@"Another breakpoint. I do expect flow to stop here.");
24      NSLog(@"The value of our integer: %d",i);
By owenimholte at Aug. 20, 2013, 9:17 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!