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

"Natasha Kerensikova" <lithiumcat@instinctive.eu> wrote in message 
news:slrnm70mph.nrc.lithiumcat@nat.rebma.instinctive.eu...
> On 2014-11-21, Randy Brukardt <randy@rrsoftware.com> wrote:
...
>> 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).

You're right, of course, but in our defense it wasn't necessary on the CP/M 
and MS-DOS systems this was originally defined for. The file name was always 
the first 8 characters of the package name, and indeed the editor we used 
automatically truncated the names, so
    edit J2TYPE_PROFILE_CHECKING.adb
would open the right file without any mental energy.

Indeed, this is something that the programming environment should do for you 
(it knows the package to file name correspondence), so there's no real need 
for the file name to be in the trackback. (We wouldn't have wanted to store 
the file names in the object code, as they would waste a lot of space.)

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

Right, although of course you have no control over the exception message for 
language-defined checks, either. And those are the ones you're usually 
debugging.

                                         Randy.


  parent reply	other threads:[~2014-11-24 22:35 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   ` How to get nice traceback " Natasha Kerensikova
2014-11-22  9:57     ` Dmitry A. Kazakov
2014-11-24 22:35     ` Randy Brukardt [this message]
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