comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: How to get nice with GNAT?
Date: Fri, 21 Nov 2014 16:55:08 -0600
Date: 2014-11-21T16:55:08-06:00	[thread overview]
Message-ID: <m4ofsd$ans$1@loke.gir.dk> (raw)
In-Reply-To: slrnm6u97f.nrc.lithiumcat@nat.rebma.instinctive.eu

"Natasha Kerensikova" <lithiumcat@instinctive.eu> wrote in message 
news:slrnm6u97f.nrc.lithiumcat@nat.rebma.instinctive.eu...
> Hello,
>
> I happen to have found a situation in which symbolic traceback is a
> great help, but I have been a bit surprise by the (lack of) support in
> the platform to which I have access.

There is no standard for traceback, you are totally at the mercy of your 
compiler vendor.

>In Debian/kFreeBSD, with GNAT 4.6, it looks like the following, which is
>what I consider as perfect:
>> 0x7fa993 in asis.ada_environments.open at asis-ada_environments.adb:241
>> 0x481a57 in adactl at adactl.adb:90
>> 0x417029 in main at b~adactl.adb:817
>> 0x8015a4347 in ?? at ??:0
>> 0x41706e in <_start> at ??:0

No, perfect is:
** Unhandled CONSTRAINT_ERROR
   Index or Subtype out of bounds - Pos of Error Value = -1
On Line Number 484 In J2TYPE_PROFILE_CHECKING.END_SPEC_AND_DO_DELAYED_THUNKS
Called from line number 1914 In J2SEMANTIC_ROUTINES.SEMANTICS
Called from line number 466 In JANUS2.SEMDRIVER
Called from line number 527 In JANUS2

:-) :-)

But you'd need to get Janus/Ada to get that. (Maybe it would need mixed case 
for the subprogram names to be even more perfect.) [It's even more perfect 
if the exception is re-raised, because it saves and displays part of both 
traces, the one of the original exception and of the place it was last 
re-raised.]

The best you can do portably is with Exception_Message and Exception_Name; 
the contents of Exception_Information is implementer-defined (the above is 
what you'd get for Janus/Ada, but most compilers don't try that hard).

And be glad that you get anything. Most of the compilers I've worked with 
give you nothing useful at all. (The only error message from the first C 
compiler I worked with was "Bus error - core dumped". Up to you to figure 
out anything else.)


                                                  Randy.





  parent reply	other threads:[~2014-11-21 22:55 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21 11:41 How to get nice with GNAT? Natasha Kerensikova
2014-11-21 12:42 ` Björn Lundin
2014-11-21 22:55 ` Randy Brukardt [this message]
2014-11-21 23:13   ` Björn Lundin
2014-11-22  9:45   ` How to get nice traceback " Natasha Kerensikova
2014-11-22  9:57     ` Dmitry A. Kazakov
2014-11-24 22:35     ` Randy Brukardt
2014-11-22 10:11 ` How to get nice " gautier_niouzes
2014-11-22 10:40   ` Natasha Kerensikova
2014-11-22 22:44 ` brbarkstrom
2014-11-22 23:24   ` Jeffrey Carter
2014-11-23 18:06   ` Björn Lundin
2014-11-23 16:13 ` brbarkstrom
2014-11-23 16:18   ` J-P. Rosen
2014-11-23 17:02   ` Jeffrey Carter
2014-11-23 17:41 ` brbarkstrom
2014-11-23 19:22   ` Simon Wright
2014-11-23 20:49   ` Jeffrey Carter
2014-11-24  3:05     ` brbarkstrom
2014-11-24  6:25       ` Jeffrey Carter
2014-11-24 14:39         ` brbarkstrom
2014-11-24 17:42       ` Dennis Lee Bieber
2014-11-25 13:45         ` brbarkstrom
2014-11-25 15:07           ` ake.ragnar.dahlgren
2014-11-25 15:51             ` brbarkstrom
2014-11-25 16:52             ` Jeffrey Carter
2014-11-25 19:18             ` G.B.
2014-11-25 20:47               ` brbarkstrom
2014-11-25 22:12             ` Randy Brukardt
2014-11-25 23:30               ` Simon Wright
2014-11-26  1:25                 ` G.B.
2014-11-26  7:35                   ` Simon Wright
2014-11-26 11:55                     ` Georg Bauhaus
2014-11-26 13:06                       ` Dmitry A. Kazakov
2014-11-26 13:36                         ` brbarkstrom
2014-11-26 21:27                         ` Randy Brukardt
2014-11-26 22:38                           ` brbarkstrom
2014-11-27  9:01                             ` Dmitry A. Kazakov
2014-11-27 13:53                               ` brbarkstrom
2014-11-27 17:19                                 ` Dmitry A. Kazakov
2014-12-01 22:25                                   ` Randy Brukardt
2014-12-02  8:42                                     ` Dmitry A. Kazakov
2014-12-03 21:41                                       ` Randy Brukardt
2014-12-06 12:02                                         ` Dmitry A. Kazakov
2014-12-08 22:45                                           ` Randy Brukardt
2014-12-09  8:51                                             ` Dmitry A. Kazakov
2014-12-09 23:14                                               ` Brad Moore
2014-12-09 17:59                                                 ` Dmitry A. Kazakov
2014-11-27  8:52                           ` Dmitry A. Kazakov
2014-11-26  6:18                 ` J-P. Rosen
2014-11-26  7:37                   ` Simon Wright
2014-11-26  8:41               ` Dmitry A. Kazakov
2014-11-25 18:33           ` Dennis Lee Bieber
2014-11-26  1:27             ` Dennis Lee Bieber
2014-11-26  3:29               ` brbarkstrom
2014-11-23 18:55 ` brbarkstrom
2014-11-23 19:30 ` brbarkstrom
2014-11-23 22:38   ` Simon Wright
2014-11-24  2:47     ` brbarkstrom
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox