From: Simon Wright <simon@pushface.org>
Subject: Re: Symbolic tracebacks on Debian
Date: Sun, 23 May 2010 16:52:32 +0100
Date: 2010-05-23T16:52:32+01:00 [thread overview]
Message-ID: <m2632evcn3.fsf@pushface.org> (raw)
In-Reply-To: 82eih2rblr.fsf@stephe-leake.org
Stephen Leake <stephen_leake@stephe-leake.org> writes:
> Simon Wright <simon@pushface.org> writes:
>
>> "(see below)" <yaldnif.w@blueyonder.co.uk> writes:
>>
>>> On 21/05/2010 09:52, in article 82bpc8s17m.fsf@stephe-leake.org, "Stephen
>>> Leake" <stephen_leake@stephe-leake.org> wrote:
>>
>>>> Because symbolic traceback are not supported on _all_ gnat platforms, I
>>>> don't use them on _any_ - that way my code is portable. So I did not
>>>> notice this problem.
>>>>
>>>> I dump the stack trace as hex addresses, then later run addr2line
>>>> manually if I want the symbolic trace.
>>>
>>> Can you say exactly what the steps are to do that?
>>> I've never understood it + therefore never used it.
>>
>> You need to call
>>
>> GNAT.Exception_Traces.Trace_On
>> (Kind => GNAT.Exception_Traces.Unhandled_Raise);
>
> I never do this.
>
>> from somewhere in your program and run gnatmake with -bargs -E.
>
> I only do this if I want symbolic traces from the running program, which
> I don't anymore.
If you want _symbolic_ traces you add
GNAT.Exception_Traces.Set_Trace_Decorator
(Decorator => GNAT.Traceback.Symbolic.Symbolic_Traceback'Access);
Actually, there is a difference: this code
with GNAT.Exception_Traces;
procedure T is
Foo, Bar : exception;
task T is
entry Start;
end T;
task body T is
begin
accept Start;
raise Bar;
end T;
begin
GNAT.Exception_Traces.Trace_On
(Kind => GNAT.Exception_Traces.Unhandled_Raise);
T.Start;
raise Foo;
end T;
results in
$ ./t
Unhandled Exception raised
Exception name: T.FOO
Message: t.adb:16
Call stack traceback locations:
0x100001577 0x10000141b
task t_0000000100800E00 terminated by unhandled exception
Exception name: T.BAR
Message: t.adb:10
Call stack traceback locations:
0x100001742 0x10000aa82 0x7fff825fb8b4
whereas with the Trace_On call commented out, it generates
$ ./t
Execution terminated by unhandled exception
Exception name: T.FOO
Message: t.adb:16
Call stack traceback locations:
0x10000157d 0x10000142b
so you get to see the unhandled exceptions in tasks too.
next prev parent reply other threads:[~2010-05-23 15:52 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-14 13:16 About static libraries and Debian policy Dmitry A. Kazakov
2010-05-14 14:57 ` sjw
2010-05-14 15:29 ` Dmitry A. Kazakov
2010-05-14 18:43 ` Ludovic Brenta
2010-05-14 19:54 ` Dmitry A. Kazakov
2010-05-14 20:38 ` Ludovic Brenta
2010-05-15 7:46 ` Dmitry A. Kazakov
2010-05-15 10:07 ` Ludovic Brenta
2010-05-15 11:07 ` Simon Wright
2010-05-15 21:48 ` Ludovic Brenta
2010-05-16 10:13 ` Simon Wright
2010-05-16 10:31 ` Ludovic Brenta
2010-05-19 21:59 ` Björn Persson
2010-05-20 7:20 ` Symbolic tracebacks on Debian (Was: About static libraries and Debian policy) Ludovic Brenta
2010-05-20 8:38 ` Alex R. Mosteo
2010-05-21 12:26 ` Ludovic Brenta
2010-05-25 8:39 ` Symbolic tracebacks on Debian Ludovic Brenta
2010-05-20 14:04 ` Symbolic tracebacks on Debian (Was: About static libraries and Debian policy) Dmitry A. Kazakov
2010-05-21 8:52 ` Symbolic tracebacks on Debian Stephen Leake
2010-05-22 11:03 ` (see below)
2010-05-22 11:25 ` Simon Wright
2010-05-22 21:37 ` (see below)
2010-05-23 13:28 ` Stephen Leake
2010-05-23 15:52 ` Simon Wright [this message]
2010-05-23 18:35 ` (see below)
2010-05-23 19:46 ` Simon Wright
2010-05-24 9:04 ` Stephen Leake
2010-05-24 19:14 ` Simon Wright
2010-05-25 2:13 ` Stephen Leake
2010-05-25 9:02 ` Alex R. Mosteo
2010-05-25 19:16 ` Simon Wright
2010-05-26 7:30 ` Stephen Leake
2010-05-24 9:03 ` Stephen Leake
2010-05-22 11:30 ` Yannick Duchêne (Hibou57)
2010-05-22 13:20 ` Björn Persson
2010-05-22 13:56 ` Dmitry A. Kazakov
2010-05-22 12:53 ` Symbolic tracebacks on Debian (Was: About static libraries and Debian policy) Björn Persson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox