Help - Search - Members - Calendar
Full Version: Major XCode bugs...?
InsanelyMac Forum > Apple World > Mac Programming and Development
exscape
OK, I've had it now. I've been working on a Cocoa/Obj-C project a bit, and it doesn't work too well - probably because I'm still very new to both Obj-C and Cocoa (but not programming in general).
Anyway, I set up a breakpoint on the first line in a function, and run/debug. As expected, it breaks on the breakpoint. However, that's pretty much all that seems to work OK.

This is the code in the beginning of the function (the variable "tmp" is for debugging, thus the name):
CODE
- (IBAction) fetchTagList:(id)sender
{
>>> NSMutableString *tag = [[NSMutableString alloc] initWithCapacity:50];
    NSString *tmp = [tagList objectAtIndex: [listView selectedRow]]; // tagList is an NSArray, listView a poorly named NSTableView

    if (!tmp)
        return;


So, the debugger stands on the first line, and I press "step over". It now stands on the second line, but "tag" is invalid (whatever that means). I press step over again, and it goes BACK to the first line! blink.gif
Step over again, back to line 2. Step over, line 3 (empty), both tag and tmp are now invalid. The "if (!tmp)" doesn't match though, that is, it does NOT return.

What am I missing here?
It is, of course, entirely possible that the code (at least the 2nd line) should not work (I'm new, remember), but the debugger should in my opinion not go backwards! wacko.gif

I've had some other odd problems with outlets too, despite adding the outlet, connecting it in IB and restarting both apps (just in case), the outlet was nil in code, until I created a new outlet with another name and reconnected that... Wtf? That has happened twice.

Edit: Also, could someone please check their Xcode version number? I've got 3.0 build 921.0, is that the "final"? Haven't bought Leopard (yet) wink.gif


Edit again: It seems I fixed the debugging issue, the project wasn't set to the Debug build configuration. wacko.gif Isn't that the default?!
Also, debugging DID work in Release mode, at least partially.
CarminPolitano
It is important that the program is compiled in a manner that the debugger can handle. It there is much optimization going on during compilation then the stepping will not seem at all correct. Locations and variables are automatically overloaded for speed of execution etc.

Change the active executable to "debug" so that the debugger will be debugging code which is what you have actually written. wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.