Re: Interpreting sample(1) output on bundle
Re: Interpreting sample(1) output on bundle
- Subject: Re: Interpreting sample(1) output on bundle
- From: Terry Lambert <email@hidden>
- Date: Thu, 29 Apr 2010 16:20:53 -0700
Use the command:
vmmap System\ Preferences
to get the information about file mappings vs. addresses. From there,
you will have to identify the plgin at the sample address (sample
doesn't do this for you), and from there, identify where in the plugin
its happening (assuming you own it) or bug report it with the
necessary load address information to the vendor, whoever it is.
-- Terry
On Apr 29, 2010, at 6:15 AM, Dave Keck wrote:
Hey list,
I'm debugging a hang reported by several users of a preference pane
bundle. I asked one user to sample(1) System Preferences to get a
stack trace:
... snip ...
4415 -[NSApplication sendAction:to:from:]
4415 0x1000132ae
4415 0x100012ba8
4415 0x100012e25
4415 _CF_forwarding_prep_0
... snip ...
Full output: http://pastebin.org/192055.
The hang occurs after clicking a button, so this stack trace makes
sense. I disassembled the bundle using otool -tv, but have been unable
to correlate the first address (0x1000132ae) with an address in the
disassembled code. My tactic to locate the correct address was to take
the low 12 bits of the address [1], in this case 0x2ae, and search the
bundle's disassembled code for this address suffix, where the
immediately preceding instruction must be a call instruction:
0xxxx2a9 call 0xfeedface
0xxxx2ae ...
But yet this pattern did not occur in the otool output. Could someone
suggest what I might be doing wrong?
Thanks!
David
[1] I used this tactic based on empirical evidence that dynamic
libraries/bundles are always loaded at a page offset, so that the low
12 bits of the address of an instruction in the sample(1) output
should be equal to low 12 bits of the same instruction in the otool
output. Is this correct?
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden