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: Fritz Anderson <email@hidden>
- Date: Mon, 06 Jan 2014 15:40:45 -0600
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.
But people miss the feature as currently implemented, it can be mislead them, and it can waste their time — as it wasted yours. I’m not saying you’re wrong, or that Apple shouldn’t spend resources on solving the problem, but it is a problem to which I see no easy solution. (And anyway, the current system is lucrative for me.)
— F
--
Fritz Anderson email@hidden
Xcode 5 Start to Finish: Available April 2014 from Addison Wesley
_______________________________________________
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