🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.mac.programmer.codewarrior
6 messages
6 total messages Started by Kent Sorensen Tue, 27 May 2003 20:43
How to find routine names from crashlog and xMAP ?
#808
Author: Kent Sorensen
Date: Tue, 27 May 2003 20:43
19 lines
1793 bytes
I would like to find a way to make release build crashlogs useful. When 
I get a release crashlog (which of course has no symbols in it) there is 
nothing I can do to find the offending routine.

I use CodeWarrior and I have symbol and linkmap files for the release 
build.

If you have a crashlog from a release build, and the corresponding xMAP 
and XSYM files how do you actually map the addresses in the crashlog to 
routines ? 

I have tried searching for the addresses listed in the crashlog, but 
they appear to be offset by the programs location in memory so I can't 
find them in the xMAP.

Any pointers appreciated.
Thanks 

Kent
Re: How to find routine names from crashlog and xMAP ?
#809
Author: Isaac Wankerl
Date: Wed, 28 May 2003 18:21
51 lines
2852 bytes
In article <kents-0411FF.16434527052003@news21.bellnet.ca>,
 Kent Sorensen <kents@snak.REMOVETHIS.com> wrote:

> I would like to find a way to make release build crashlogs useful. When 
> I get a release crashlog (which of course has no symbols in it) there is 
> nothing I can do to find the offending routine.
> 
> I use CodeWarrior and I have symbol and linkmap files for the release 
> build.
> 
> If you have a crashlog from a release build, and the corresponding xMAP 
> and XSYM files how do you actually map the addresses in the crashlog to 
> routines ? 
> 
> I have tried searching for the addresses listed in the crashlog, but 
> they appear to be offset by the programs location in memory so I can't 
> find them in the xMAP.
> 
> Any pointers appreciated.
> Thanks 
> 
> Kent

You might want to try turning on symbols for a few of the key routines 
so you can determine the address space that your application is loaded 
into.  This can easily be done with pragmas:

void Foo()
{
   // ...
}

#pragma traceback on

int main()
{
   // ...
}

#pragma traceback reset


Now your crashlog will show main as one of the routines on the stack.  
From the address listed there and and address in the xMAP file, I think 
you can come up with an offset and apply that to the crashlog addresses 
to translate them into the routine names.

-- 
Isaac Wankerl
Metrowerks
Mac Software Developer
Re: How to find routine names from crashlog and xMAP ?
#810
Author: Kent Sorensen
Date: Thu, 29 May 2003 01:02
14 lines
1801 bytes
> You might want to try turning on symbols for a few of the key routines 
> so you can determine the address space that your application is loaded 
> into.  This can easily be done with pragmas:

Ah, that's a good idea. I'll do that for the next version.

It still leaves the issue of trying to make sense of a crashlog from the 
current version. So what does everyone do when a user sends you a 
release crashlog ? Shrug and move on ?

Any folks fom Inside Apple that would have a little tool for this ?

Kent
Re: How to find routine names from crashlog and xMAP ?
#811
Author: Miro Jurisic
Date: Thu, 29 May 2003 02:16
17 lines
1830 bytes
In article <kents-ABCA48.21020428052003@news21.bellnet.ca>,
 Kent Sorensen <kents@snak.REMOVETHIS.com> wrote:

> > You might want to try turning on symbols for a few of the key routines 
> > so you can determine the address space that your application is loaded 
> > into.  This can easily be done with pragmas:
> 
> Ah, that's a good idea. I'll do that for the next version.
> 
> It still leaves the issue of trying to make sense of a crashlog from the 
> current version. So what does everyone do when a user sends you a 
> release crashlog ? Shrug and move on ?

Figure out which stack frame is your main, it's gonna be at a fixed location in 
the stack. Then you can get everything else as offsets from main.

meeroh
Re: How to find routine names from crashlog and xMAP ?
#816
Author: Wade Williams
Date: Fri, 30 May 2003 04:54
13 lines
1975 bytes
In article <kents-0411FF.16434527052003@news21.bellnet.ca>, Kent
Sorensen <kents@snak.REMOVETHIS.com> wrote:

> I would like to find a way to make release build crashlogs useful. When 
> I get a release crashlog (which of course has no symbols in it) there is 
> nothing I can do to find the offending routine.


Kent,

Check out "man atos"

Wade
Re: How to find routine names from crashlog and xMAP ?
#817
Author: Kent Sorensen
Date: Fri, 30 May 2003 10:43
10 lines
1567 bytes
In article <290520032354584873%wadesworld@mac.com>,
 Wade Williams <wadesworld@mac.com> wrote:

> man atos

Interesting tool, but unfortunately it doesn't appear to be suitable in 
helping decipher an existing release crashlog. The problem is that there 
are no symbols to begin with.

Kent
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads