Subject: Re: stacktrace on linux
Date: Fri, 15 Aug 2003 11:44:16 +0200
Date: 2003-08-15T11:44:16+02:00 [thread overview]
Message-ID: <3f3cab74@epflnews.epfl.ch> (raw)
In-Reply-To: bhfd36$42gt$1@ID-169866.news.uni-berlin.de
As piece of advice: do not switch optimization on when you want to debug
a program.
Related to your problem, I am afraid you are not using the "Ada enabled"
gdb that comes with GNAT. Try the command "set language ada" in the gdb
prompt. If the result is "Unknown language 'ada'", you have to set in
your path first the gdb distributed with GNAT.
Rodrigo
Martin Moosbrucker wrote:
> Hi,
>
> I'd like to get the stack trace of a program running on a RedHat 7.3
> operating system as I get it on a windows2000 os.
>
> The stack trace on windows looks like that:
>
> 1/ 0
> Exception name: CONSTRAINT_ERROR
> Message: stack_trace.adb:13
> Call stack traceback locations:
> 0x40144b 0x4015f3 0x401806 0x401265 0x401103 0x77e8ca8e
> 0040144B in testexception.outer.inner at stack_trace.adb:13
> 004015F3 in testexception.outer at stack_trace.adb:19
> 00401806 in testexception at stack_trace.adb:26
> 00401265 in ?? at crt1.c:0
> 00401103 in ?? at crt1.c:0
> 77E8CA8E in ?? at fake:0
>
> on RedHat I don't get any information of the lines in my sourcecode:
>
> Exception name: CONSTRAINT_ERROR
> Message: stack_trace.adb:13
> Call stack traceback locations:
> 0x804a090 0x804a3e3 0x804a6df 0x8049d91 0x42017497
> 0x804a090 in ?? at ??:0
> 0x804a3e3 in ?? at ??:0
> 0x804a6df in ?? at ??:0
> 0x8049d91 in ?? at ??:0
> 0x42017497 in ?? at ??:0
>
> I am using the following compile / bind and link switches on both ops:
>
> compiler: -O3 -gnatf -gnatwu -gnato -funwind-tables
> binder: -f -E
> linker: -g -i
>
> The source code generating the exceptions above:
>
> with Ada.Exceptions;
> with Gnat.Traceback.Symbolic;
>
> with Text_Io;
> use Text_Io;
>
> procedure Testexception is
>
> type Float_32 is digits 6 range Interfaces.Ieee_Float_32'First ..
> Interfaces.Ieee_Float_32'Last;
>
> procedure Outer is
> procedure Inner(y:integer) is
> x : integer;
> begin
> text_io.put_line("1/"&integer'image(y));
> X := 1 / Y;
> x:=x**2;
> text_io.put_line("finished." & integer'image(x));
> end;
> begin
> begin
> Inner(0);
> exception
> when E : others =>
> Text_Io.Put_Line(Ada.Exceptions.Exception_Information(E) &
> Gnat.Traceback.Symbolic.Symbolic_Traceback(E));
> end;
> end;
> begin
>
> Text_Io.Put_Line("Float_32'Machine_Overflows"&Boolean'Image(Float_32'Machine
> _Overflows));
> Outer;
> exception
> when e : others =>
> Text_io.put_line(Ada.Exceptions.Exception_Information(E) &
> Gnat.Traceback.Symbolic.Symbolic_Traceback(E));
> end;
>
> Thanks,
> Martin
>
>
>
next prev parent reply other threads:[~2003-08-15 9:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-14 7:17 stacktrace on linux Martin Moosbrucker
2003-08-14 14:39 ` Ludovic Brenta
2003-08-15 9:44 ` [this message]
2003-08-17 18:31 ` Gautier Write-only
2003-08-15 19:26 ` Simon Wright
2003-08-19 7:50 ` nicolas
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox