Re: How is my CFRunLoopTimer getting called during a CFReadStream client callback? ANSWER
Re: How is my CFRunLoopTimer getting called during a CFReadStream client callback? ANSWER
- Subject: Re: How is my CFRunLoopTimer getting called during a CFReadStream client callback? ANSWER
- From: Roland King <email@hidden>
- Date: Tue, 07 Jan 2014 07:10:13 +0800
On 7 Jan, 2014, at 5:40 am, Fritz Anderson <email@hidden> wrote:
> On 5 Jan 2014, at 8:31 PM, Jim O'Connor <email@hidden> wrote:
>
>> XCode hides stack frames it thinks are unimportant.
>> Like the stack frame that had the CFRunLoop in it inside a CFMessagePortSendRequest.
>>
>> I found the problem when I copied out the stack crawl to show a friend, and low and behold there were 4 extra stack frames in there…
>
> I understand the problem. If it’s biting you, it should be taken seriously, but I have a quibble. Xcode draws a line across the stack trace where frames are elided; and it provides a slider at the bottom of the Debug navigator to control how aggressive the elision is. It’s not obvious, but it isn’t hidden.
>
> There’s a tradeoff between making the feature self-documenting and keeping it from being so blatant that it distracts from the principal content of the view. Self-documentation of something that can’t be explained briefly, and is very peripheral _once you know about it,_ is Hard. Making the line solid and three points wide, instead of dotted and one point, wouldn’t be enough.
>
The number of times this has come up on this list, and the dev forums, and the Xcode list, since the feature was introduced I think points the default being too much elision and the feature nowhere near obvious enough. And these lists have a fairly small set of users on them, I suspect lots of other developers have never worked it out many hours of dev time has been wasted.
If you're going to have a feature which hides pieces of stack trace it considers irrelevant, and that is turned on by default, then it needs to be a lot better at guessing what's relevant. Every time someone slides the slider all the way to the right and finds what they were looking for is a time it guessed wrong.
Much better to show everything by default and have people posting about how they discovered this cool feature which allows you to reduce stack clutter by sliding the thumb to the left than have people banging their heads against a wall looking for information their debugger has hidden from them. I'd wager if show-everything were the default, we'd see one post a year about clutter.
That and adding 'break on all exceptions' as a default which people can turn off if they like would make Xcode out of the box more usable and still just as customizable.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden