On Mar 21, 2012, at 21:55 , Joar Wingfors wrote: I love that feature, and use it almost all the time! I'd call it one of the more innovative and neat features of Xcode 4.
I have to admit that I'm a bit surprised at your reaction to this feature. Why do you care to see frames from the innards of libraries that you don't have source code to? Admittedly, there are cases where that's informative / useful, but for the most part would you not rather focus in on your own code?
Er, just for the record, I was just trying to make a feeble joke in response to Jens. Sorry if it sounded like a hate-o-gram.
So, let me try to clarify by giving a serious response instead.
I really do think the feature *sounds* like a good idea, but I've had the following experience:
-- An app I'm working on throws an exception. Let's say it's a nib binding to an unknown property, something like that.
-- With the level-of-detail slider in the central default position, the debugger display seems to be telling me that my app stopped in NSApplicationMain, since that's the only backtrace item listed for that thread.
-- Because the debugger has stopped when the exception was thrown, nothing has been logged yet, so there's nothing on the console log to tell me why it stopped, or that it really *didn't* stop in NSApplicationMain.
-- It does not occur to me to adjust the level-of-detail slider because the feature is unobtrusive.
-- I conclude that something is really messed up, so I quit the app and try running it again, with the same stop and the same lack of any clue as to why.
-- I go round that loop several times before I figure out what I'm doing wrong.
Since then, I have also tried running with the level-of-detail slider in various positions to the right of the default, but I generally ended up in specific debugging situations when I needed to slide all the way to the right to know for sure where I really was, in backtrace terms.
After a couple of experiences of this, it became more cost-effective to me to keep the full level of detail and just use my eyes to filter out the backtrace lines I wasn't interested in. That doesn't mean the feature is worthless, just that I've chosen not to use it.
It may be that the default behavior has become more self-evident in recent Xcode releases, but the occasional yet steady stream of list inquiries about "missing" backtraces suggests that others have run into the same confusion I did.
|