• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ARC
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ARC


  • Subject: Re: ARC
  • From: Saagar Jha via Cocoa-dev <email@hidden>
  • Date: Tue, 27 Aug 2019 17:12:03 -0700

I highly doubt that setting a breakpoint on objc_retain would be useful: it’s
called too often. Just launching Calculator, for example, hits the function
over 200000 times, so even a conditional breakpoint would make execution
prohibitively slow. I would expect you to have more luck finding every location
that releases mainWindowController statically and setting breakpoints there.

Saagar Jha

P.S. The code for the Objective-C runtime is available here
<https://opensource.apple.com/source/objc4/objc4-756.2/>. Significant portions
are still in assembly, but you might find a useful comment or two.

> On Aug 27, 2019, at 16:37, Uli Kusterer via Cocoa-dev
> <email@hidden> wrote:
>
> On 8/26/2019 8:28 PM, Turtle Creek Software via Cocoa-dev wrote:
>>>> @property (weak) GSOutlineWindowController *mainWindowController;
>>>> self.mainWindowController = [[GSOutlineWindowController alloc]
>>
>> initWithWindowNibName : @"GSOutlineWindowController"];
>>     [self.mainWindowController showWindow : self];
>>
>> Sadly, nothing changes after the syntax changes.  @property (strong) also
>> fails.
>>
>>>> A better way to investigate such issue is using the memory debugging
>> tools in Instrument IMHO.
>>>> That would let you see all stack traces of retain/release calls.
>>
>> We tried that last week.  The problem with ARC debugging is that
>> breakpoints in dealloc()
>> happen long after the release.  You know it died, but not when or how.
>> Sometimes we turn off ARC for one class with compiler directives, then
>> breakpoint on release.
> Have you tried turning on NSZombie etc.? There are a bunch of neat debug
> helpers in your Build Scheme's settings.
>
> I think there's also a function objc_retain() or something like that,
> which is a *function* in the ObjC runtime that serves as the central
> bottleneck. You may have more luck breaking on that.
>
> Cheers,
> -- Uli Kusterer
> http://www.zathras.de <http://www.zathras.de/>
> "The Witnesses of TeachText are everywhere..."
> _______________________________________________
>
> 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

References: 
 >Re: ARC (From: Turtle Creek Software via Cocoa-dev <email@hidden>)
 >Re: ARC (From: Jens Alfke via Cocoa-dev <email@hidden>)
 >Re: ARC (From: Turtle Creek Software via Cocoa-dev <email@hidden>)
 >Re: ARC (From: Jean-Daniel via Cocoa-dev <email@hidden>)
 >Re: ARC (From: Turtle Creek Software via Cocoa-dev <email@hidden>)
 >Re: ARC (From: Uli Kusterer via Cocoa-dev <email@hidden>)

  • Prev by Date: Re: Cocoa-dev Digest, Vol 16, Issue 72
  • Next by Date: Re: Cocoa-dev Digest, Vol 16, Issue 72
  • Previous by thread: Re: ARC
  • Next by thread: Re: ARC
  • Index(es):
    • Date
    • Thread