Which version of Gnat are you using ? I had a similar problem with Gnat 3.14p and RedHat 7.2 last year. The problem came from libbfd version Gnat 3.14p required libbfd-2.9 for correct stacktrace, and RedHat 7.2 included a libbfd-2.11. To solve the problem, I retrieved libbfd-2.9.5.0.22.so and copied it in /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/ I added -largs /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/libbfd-2.9.5.0.22.so to my gnatmake command Nicolas "Martin Moosbrucker" a �crit dans le message de news:bhfd36$42gt$1@ID-169866.news.uni-berlin.de... > 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 > > >