comp.lang.ada
 help / color / mirror / Atom feed
From: wilson <winslole@udayton.edu>
Subject: Re: Gnat 2013 is out!
Date: Tue, 27 Aug 2013 16:05:20 -0400
Date: 2013-08-27T16:05:20-04:00	[thread overview]
Message-ID: <op.w2hre6wi1hq4pq@leon-hp> (raw)
In-Reply-To: op.w2hawkhuule2fv@cardamome

On Tue, 27 Aug 2013 10:08:34 -0400, Yannick Duchêne (Hibou57)  
<yannick_duchene@yahoo.fr> wrote:

> Le Fri, 31 May 2013 18:12:29 +0200, <dptrash@arcor.de> a écrit:
>
>> May I ask, how you debug Ada programs? Do you use GNATbench 2.7 for  
>> that? I need a good debugging tool :-)
>
> I personally did not used a debugger since Borland Turbo Pascal. I first  
> missed it (at that time GDB for C programs had issues on Windows 3.1),  
> but quickly figured a debugger only show you one particular path in your  
> logic, and above all, consume a lot of your time to just follow this  
> path, a lot of time which is not used to understand the properties of  
> the whole.
>
> So instead of trying to fix something in a particular path — ignoring  
> the whole and so probably introducing a new bug elsewhere in the while —  
> I would say it's surely better to understand the whole and so not rely  
> on a debugger. A debugger never gives you such a picture, only analysis  
> and understand gives this to you.
>
> When something really drives me crazy, I just add a “sentinel” which  
> prints out some information (just requires an “with Ada.Text_IO” and a  
> line added somewhere to print an “Element'Image”) I fill to not track  
> correctly, to help me a bit. Then, back to global understanding as soon  
> as possible.
>
> A program is not a single path and a particular property of a particular  
> state as exposed by a debugger, it's multitude of possible paths and  
> general properties common to a multitude of possible states (that's what  
> you have to track, not a single path). In short, a debugger gives you a  
> wrong picture, except if you are at the very beginning and try to figure  
> out what's a programming language and how a state machine (like a  
> computer is) works.
>
> Another issue, is that a program is not always running in a debugger,  
> and so what when something went wrong while it was not running in a  
> debugger and you don't have a complete and exact snapshot of the  
> program's state when it get wrong? Here, a logger surely help more than  
> a debugger, as it may be active all the time (most platform provides an  
> API to help automatically manage logs and avoid these logs to fill all  
> of your storage space).
>
>

Thank you for saying something I have felt for years.  I always felt odd  
man out for this approach and it is good to have someone else say the same  
thing.
-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

  reply	other threads:[~2013-08-27 20:05 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-29 13:36 Gnat 2013 is out! J-P. Rosen
2013-05-29 15:03 ` Simon Wright
2013-05-29 16:13   ` Simon Wright
2013-05-29 22:39     ` Randy Brukardt
2013-05-30  2:01       ` Adam Beneschan
2013-05-30  8:01         ` Bill Findlay
2013-05-30 23:09           ` Dennis Lee Bieber
2013-05-31  5:02             ` J-P. Rosen
2013-05-31 18:35             ` Bill Findlay
2013-05-30 10:39         ` Simon Wright
2013-05-30 16:21           ` Adam Beneschan
2013-05-30 19:53         ` Randy Brukardt
2013-05-31  7:41           ` Dmitry A. Kazakov
2013-05-31 11:30           ` Stefan.Lucks
2013-05-31 12:03             ` Niklas Holsti
2013-05-31 22:07             ` Randy Brukardt
2013-06-01 11:51               ` Georg Bauhaus
2013-06-03 14:52                 ` Adam Beneschan
2013-06-04 17:42                   ` Wesley Pan
2013-06-04 18:34                     ` Adam Beneschan
2013-06-04 19:00                       ` Wesley Pan
2013-06-05 15:40                     ` Eryndlia Mavourneen
2013-06-11  2:39                   ` Randy Brukardt
2013-06-11  6:31                     ` Georg Bauhaus
2013-06-19 21:57                       ` Randy Brukardt
2013-05-30  0:31 ` Dennis Lee Bieber
2013-05-31 16:12 ` dptrash
2013-06-01  5:10   ` Stephen Leake
2013-06-01  6:00   ` Per Sandberg
2013-06-01  6:46   ` J-P. Rosen
2013-06-01 15:22     ` Bill Findlay
2013-08-27 14:08   ` Yannick Duchêne (Hibou57)
2013-08-27 20:05     ` wilson [this message]
2013-08-27 22:59       ` Dennis Lee Bieber
2013-08-28  7:35         ` Dmitry A. Kazakov
2013-08-28 23:39           ` Dennis Lee Bieber
2013-06-07  2:41 ` gautier_niouzes
2013-06-07 15:52 ` mjsilva
2013-06-07 20:15   ` Dmitry A. Kazakov
2013-06-09 18:51     ` MatthiasR
2013-06-08  6:22   ` Simon Wright
2013-06-08 23:23     ` mjsilva
2013-06-10 11:07   ` Rego, P.
2013-06-13 13:30     ` Rego, P.
2013-06-17  6:35       ` Jacob Sparre Andersen
2013-06-22  8:17         ` MatthiasR
2014-03-18  0:04           ` Rego, P.
2013-06-11  7:52 ` Maciej Sobczak
2013-06-11  9:35   ` J-P. Rosen
2013-06-11 12:09   ` John Doe
2013-06-12  7:58 ` Maciej Sobczak
2013-06-12 11:01   ` G.B.
2013-06-12 20:01   ` Robert A Duff
2013-06-12 20:36     ` Georg Bauhaus
2013-06-13  7:38     ` Maciej Sobczak
replies disabled

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