Interpreting sample(1) output on bundle
Interpreting sample(1) output on bundle
- Subject: Interpreting sample(1) output on bundle
- From: Dave Keck <email@hidden>
- Date: Thu, 29 Apr 2010 03:15:44 -1000
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