comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Debugging Problem with Gnatbench under Eclipse
Date: Wed, 13 Nov 2013 09:18:07 +0100
Date: 2013-11-13T09:18:07+01:00	[thread overview]
Message-ID: <528335bf$0$9510$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <6ea825d7-a48d-4fca-9fbc-1d17e1841343@googlegroups.com>

On 13.11.13 02:12, Adam Beneschan wrote:
> So the suggestions on this thread, that debuggers are largely irrelevant to Ada programmers, is one that gets my dander up a bit.  They can be useful tools.  And I'd encourage the OP to try to get the vendor to fix the problem, since it's a tool he might find useful in the future.


Could it be that Ada programmers just don't know debuggers? 8-)

Debuggers turn my unforgiving CPU into a much more lenient interpreter,
Its steps are under my control.

Debuggers provide for a kind of "virtual machine", or extended machine.
They add features with uses for the programmer without him or her adding
a single line of source text. I can manipulate the program as is, I can
see call chains easily, at every instruction I choose, in circumstances
I choose.

This turns debuggers into programmable simulators. They will assist,
for example, with test driven development. (Which includes finding bugs
in logic that do not have counterparts among the exceptions.) For example,

- Debuggers can test my assumptions (debugging a solution) like:
do I see actual parameters that I expected to be passed to procedure Foo
when the program calls Foo for the third time?

- Debuggers make me think of possible cases (debugging the specification):
Oh, I missed the case where 42 could end up in x.y.

During my daily (non-Ada) work, I sometimes wish I could use a debugger,
as adding all sorts of trace statements and then scanning log files
is cumbersome.

Even gdb, used with or without fancy Expect (or ELisp) programming,
understands the "commands" command.

So, for instance, a debugger procedure can
1 Stop at F in this situation
2 Show what's in the variables x, y, and z
3 IF y IS NOT IN {1,...,64} THEN:
3a show the call chain
3b set y to a known good value
4 continue



  reply	other threads:[~2013-11-13  8:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-11  2:27 Debugging Problem with Gnatbench under Eclipse Fritz von Braun
2013-11-11  5:40 ` Jeffrey Carter
2013-11-11 16:20   ` Mike H
2013-11-12  0:46     ` Fritz von Braun
2013-11-12 14:40       ` Mike H
2013-11-12 17:43         ` Bill Findlay
2013-11-13  1:12         ` Adam Beneschan
2013-11-13  8:18           ` Georg Bauhaus [this message]
2013-11-13  9:11             ` Dmitry A. Kazakov
2013-11-13 10:17               ` Simon Wright
2013-11-13 17:37             ` Jeffrey Carter
2013-11-13  9:14           ` Mike H
2014-02-10 17:40 ` john
replies disabled

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