comp.lang.ada
 help / color / mirror / Atom feed
From: Natasha Kerensikova <lithiumcat@instinctive.eu>
Subject: Re: How to get nice traceback with GNAT?
Date: Sat, 22 Nov 2014 09:45:16 +0000 (UTC)
Date: 2014-11-22T09:45:16+00:00	[thread overview]
Message-ID: <slrnm70mph.nrc.lithiumcat@nat.rebma.instinctive.eu> (raw)
In-Reply-To: m4ofsd$ans$1@loke.gir.dk

On 2014-11-21, Randy Brukardt <randy@rrsoftware.com> wrote:
> "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.

Indeed I am, but I don't think portability in debugging is that
important: I only need a set of tools that work on the platform where
debugging is performed. So when dealing with portable/fundamental bugs,
I'm free to choose the platform where the best tools for that task are
available.

>>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

It might be nitpicking, but as far as the traceback (word I
unfortunately missed in the subject) you actually provide less
information: GNAT has function name, file name, line number, while yours
lacks the file name (might be easy to find out, but that's still a
mental overhead nonetheless).

As far as the exception message goes, I agree that yours is quite
impressive. I didn't mention it in the OP because I'm actually chasing
user exceptions (explicit raise statements), so I have the power to
improve the exception message. Compare to the traceback, which is to
tied to the compiler internals that a mere user has no power to improve
anything. I can't even guess what is going in GNAT to get so wildly
different outputs on different platforms.



Natasha


  parent reply	other threads:[~2014-11-22  9:45 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
2014-11-21 23:13   ` Björn Lundin
2014-11-22  9:45   ` Natasha Kerensikova [this message]
2014-11-22  9:57     ` How to get nice traceback " 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