Re: Shark and dlopen(): debug symbols, "unknown library"
Re: Shark and dlopen(): debug symbols, "unknown library"
- Subject: Re: Shark and dlopen(): debug symbols, "unknown library"
- From: Rick Altherr <email@hidden>
- Date: Fri, 17 Apr 2009 14:12:50 -0700
On Apr 17, 2009, at 1:58 PM, Guido Lorenz wrote:
To keep the overhead during the sampling low, Shark only collects
symbol information at either the end of sampling or when the
process terminates, whichever comes first. Shark looks at the dyld
loaded library list to determine what is in a given process space
and where it was loaded. If you dlopen() your plugin during the
session and dlclose() it before the session is stopped (and
analysis has finished), Shark won't know that it was loaded. We
are aware that this causes problems for applications that are
aggressive about unloading plugins.
Thanks for the explanation. But if i understand correctly, this does
not cause my problem. The application loads the plugin on startup,
and dlclose() is not called at all. I start the application, attach
Shark to the running process and run a profiling session. I also
keep the application (which is still using the plugin) running while
Shark analyses the samples. That should be enough for Shark to find
the plugin library, or did I miss something? Launching the
application from within Shark does not make a difference, by the way.
// Guido
Have you tried taking a system-wide profile instead of specifying your
process? I believe there are some differences in when we collect the
symbol information for those two cases.
--
Rick Altherr
Performance Tools
Development Technologies
email@hidden
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden