Re: [Fink-devel] Getting stack traces?

2002-05-01 Thread Damian Steer

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Max Horn [EMAIL PROTECTED] writes:

 
 Which is where the problems begin. No strace (nuts), ktrace needs a
 kernel recompile (of a kernel Apple haven't released the source for,
 AIUI), and gdb says 'No stack.'.
 
 Ideas?
 
 One is to use Console.app and go to its preferences, then active the
 crash reporter. Once something crashes, a crashreport (including stack
 trace will be created, and, if you checekd the option, Console.app
 will launch to show it to you.
 

 Or you can use gdb:
 
 gdb APPNAME
 
 then, in gdb, just type run (or run OPTIONA OPTIONB if you need to
 pass parameters to the programm). Once it crashes, you will drop back
 into gdb. Type bt to get a BackTrace of the stack.
 

This is the problem. Nothing seems to think that it /is/ a crash. gdb
says 'no backtrace', and crash report is very quiet, too. Hmm.

I enabled ktrace (thanks to the person who told me where the kernel
source was) but there is a good reason for it's being disabled - it
causes a kernel panic :-)

Thanks for the help,

Damian
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (Darwin)
Comment: Processed by Mailcrypt 3.5.6 and Gnu Privacy Guard http://www.gnupg.org/

iD8DBQE8z8t0AyLCB+mTtykRAlNoAKCiLEFN62gnfjubK5UHXv32NbK1WgCgu9dp
imK+Zr/xeFLz9iuvKMIdyzk=
=p7xx
-END PGP SIGNATURE-





Re: [Fink-devel] Getting stack traces?

2002-05-01 Thread Dave Vasilevsky


On Wednesday, May 1, 2002, at 03:48  PM, Damian Steer [EMAIL PROTECTED] 
wrote:

 This is the problem. Nothing seems to think that it /is/ a crash. gdb
 says 'no backtrace', and crash report is very quiet, too. Hmm.

What must be happening is that Amaya sees the error, and so it just 
quietly quits without crashing. The best way to get a backtrace it to 
find where the error actually happened.

Here are a few possible ways. To use these, you'll have to know how to 
set a breakpoint in gdb: you just write break filename:1234 where 
filename is the name of a file, and 1234 is a line number, eg: break 
main.c:45. Or to break at a function, you write break functionname.

1) If there's an error string that Amaya prints when it sees your error, 
go into the build directory and search for that string in the source 
files: grep -Ir 'Some error string' . . Set a breakpoint at the line 
where it prints the error.

2) It's likely that Amaya quits by calling exit() or abort(). Try 
setting a breakpoint in these functions: break exit, break abort.

3) If it's a C++ program that uses exceptions, try and find the base 
exception class. Then set a breakpoint in the constructor of this 
exception. If you don't know what this means. If you don't know C++ (and 
Amaya is written in it), post back and I'll try and give more details.

Good luck!

Dave Vasilevsky


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel