Re: Crashing in NSTabView
Re: Crashing in NSTabView
- Subject: Re: Crashing in NSTabView
- From: Markus Spoettl <email@hidden>
- Date: Wed, 22 May 2019 19:25:41 +0200
In the past, if the crash like that was reliably and not to complicated to recreate and I
had no other choice, then overriding -autorelease and putting a breakpoint into that
worked on some occasions. Be prepared to get a lot of hits though.
The object likely gets over-released by an auto-release sometime before the actual release
causes the crash.
Best Regards
Markus
On 5/22/19 7:19 PM, Casey McDermott wrote:
Yes, we added a NSArray in the tab view controller with a strong ref to each
child view controller. That slows down the crash by one cycle,
but doesn't provide any additional clues.
Is there a way for NSZombie to show when the object is released? AFAICT it only
kicks in on dealloc. We can see that happen already
with a breakpoint.
The Allocations feature in Instruments looks promising. Is there a way to limit
the display to just one class? Otherwise it is WTMI.
Sorry for asking stupid questions on these tools, but Apple's docs are not very
good. Stack Overflow is often for old Xcode versions
where everything is different. We are mostly C++ folks, where this kind of
problem is easily solved with a breakpoint in the destructor.
Thanks,
Casey McDermott
Turtle Creek Software
On Wednesday, May 22, 2019, 11:43:30 AM EDT, Keary Suska
<email@hidden> wrote:
When you say "separate, strong reference to each tab view controller” do you mean each child view controller that controls a single tab view item, or the tab view controller as a whole? It is keeping string references to the individual child view controllers that should solve your situation.
You may also want to check out Instrument’s zombies, which might better
pinpoint where the issue is ocurring.
HTH,
Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"
On May 22, 2019, at 8:26 AM, Casey McDermott <email@hidden> wrote:
Our Mac app adds tabs to a NSTabView programmatically. After switching tabs a
few times, one of the NSTabViewItems would release
prematurely, causing a crash. So we switched it to using a
NSTabViewController. Tab switching still crashes, but now it releases a
NSViewController prematurely.
Nothing else in the code references tab items or tab controllers. This is
baffling. We can set a breakpoint on dealloc to see when it is deleted,
but can't breakpoint on release to see what releases it. We build with latest
Xcode but this has been going on with older ones also.
We tried adding a separate, strong reference to each tab view controller. It
still crashes, but it takes a few more tab switches before the controller is
released.
Any suggestions for what might be causing this?
Casey McDermott
Turtle Creek Software
_______________________________________________
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
_______________________________________________
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
--
__________________________________________
Markus Spoettl
_______________________________________________
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