Re: Using atos -p to get symbolic name of address?
Re: Using atos -p to get symbolic name of address?
- Subject: Re: Using atos -p to get symbolic name of address?
- From: glenn andreas <email@hidden>
- Date: Thu, 23 Dec 2004 08:54:33 -0600
On Dec 23, 2004, at 7:16 AM, Dale Gillard wrote:
My app is crashing for a very small number of users, and I can't
figure out the cause. So I'm trying to get more info out of the crash
log. The app is stripped and I'm using the atos command to determine
the symbolic name - using an unstripped copy of the app on my machine.
Is it really this simple? For example, the following command uses the
unstripped PID to generate this output:
command: atos -p 521 0x00008b0c 0x0000898c
output: __dyld_init_check (in Sidekick) (crt.c:300)
__start (in Sidekick) (crt.c:196)
This tells me that the app is crashing as it __starts, but doesn't
explain why. Am I missing something?
You're looking at it upside down.
Here's a relevant snippet from the crash log:
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000007
Thread 0 Crashed:
0 libSystem.B.dylib 0x90006e70 strlen + 0x50
1 com.apple.CoreFoundation 0x901a65d4 CFStringCreateWithCString +
0x24
2 com.apple.Foundation 0x90a3719c +[NSString
stringWithCString:] + 0x74
3 com.dalegillard.sidekick 0x0000f81c 0x1000 + 0xe81c
4 com.dalegillard.sidekick 0x0000f5c8 0x1000 + 0xe5c8
5 com.apple.Foundation 0x90a2e750 -[NSSet
makeObjectsPerformSelector:] + 0xa4
6 com.apple.AppKit 0x92df23a4 -[NSIBObjectData
nibInstantiateWithOwner:topLevelObjects:] + 0x358
7 com.apple.AppKit 0x92e864f0 old_loadNib + 0xf4
8 com.apple.AppKit 0x92e3af38 +[NSBundle(NSNibLoading)
_loadNibFile:nameTable:withZone:ownerBundle:] + 0x35c
9 com.apple.AppKit 0x92eb9cbc +[NSBundle(NSNibLoading)
loadNibFile:externalNameTable:withZone:] + 0x9c
10 com.apple.AppKit 0x92ecb4b0 +[NSBundle(NSNibLoading)
loadNibNamed:owner:] + 0x174
11 com.apple.AppKit 0x92eb9b24 NSApplicationMain + 0x174
12 com.dalegillard.sidekick 0x00008b0c 0x1000 + 0x7b0c
13 com.dalegillard.sidekick 0x0000898c 0x1000 + 0x798c
12 & 13 (__start and __dyld_init_check) are at the bottom of the stack
frame - your app is crashing at strlen (called from CFCreateWithCString
from NSString stringWithCString). This is all called from 0x0000f81c,
which is the thing you want to use atos on. When you do, you'll find
that you're calling stringWithCString with something that probably
points to NULL or something near NULL (or 0x07, such as
stringWithCString: '0x07' when you want stringWithCString: "0x07")
Glenn Andreas email@hidden
<http://www.gandreas.com/> oh my!
Mad, Bad, and Dangerous to Know
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden