Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XCode 4 Step into doesn't work

Tags:

xcode

Im using XCode 4 and seeing a problem with debugging that did not exist in 3.x.

I am putting a breakpoint at a line where I call an object method.

Product *p = [[Product alloc] init]; 
[p  print];  <-- Put a breakpoint here

After control stops at that line, I try to step into the method (F7). But nothing happens. System just skips over the line and goes to the next line (same behavior as Step Over).

Step into works fine for plain C language projects. The problem is with Objective-C methods. How do I fix this problem? Thanks.

like image 434
Bibhas BHATTACHARYA Avatar asked Apr 12 '11 21:04

Bibhas BHATTACHARYA


3 Answers

Not sure if this will help -- Go into system preferences, and under the Keyboard general settings ensure that the "Use all F1 F2 etc. as standard function keys" option is checked.

F7 started to work for me after I checked that.

Hope that helps...

like image 121
Sam DiBattista Avatar answered Nov 14 '22 02:11

Sam DiBattista


Check that the instance is not nil before trying to step into it's instance method. As embarrassing as it may seem, we all do it occasionally.

like image 3
stephen Avatar answered Nov 14 '22 03:11

stephen


Stepping into ObjC method calls is not always possible. The way it was explained to me, there are internal runtime data structures that must be in a consistent state in order to reliably step into an ObjC method. If those internals happen to be in an inconsistent state when the program stops at your breakpoint, stepping in in the debugger will fail, and it will step over the call instead. This was also true in Xcode 3, and really has little or nothing to do with Xcode, but is an ObjC runtime and debugger issue. I estimate anecdotally (working in Xcode full-time for 3+ years) that stepping into an ObjC method call fails ~5% of the time. I find that it happens most often when it will be the most inconvenient to me. :)

That said, if you're NEVER able to step into ANY ObjC method call, then there's likely another problem, as I've been able to step into ObjC method calls many times with Xcode 4, and don't see this problem any more or less often than I did with Xcode 3.

like image 2
ipmcc Avatar answered Nov 14 '22 03:11

ipmcc