comp.lang.ada
 help / color / mirror / Atom feed
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.



  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