comp.lang.ada
 help / color / mirror / Atom feed
* GNAT/Ada Traceback Information?
@ 1999-06-06  0:00 Henry Rosenbrock
  1999-06-06  0:00 ` Markus Kuhn
  1999-06-07  0:00 ` Gautier
  0 siblings, 2 replies; 4+ messages in thread
From: Henry Rosenbrock @ 1999-06-06  0:00 UTC (permalink / raw)


I was looking for an Ada standard way of recording the traceback
information for exceptions. With our current Ada83 compiler(VADS) we had
to write assembly code to manually trace back the stack within the
exception handlers. When I started to investigate GNAT and Ada95, I
noticed that the information was said to be stored in the
Ada.Exceptions.Exception_Occurence. The type was private, but that can
be easily fixed. The problem is that no traceback information is ever
stored into the structure. Does anybody know if this structure was
created for future enhancements or if it us only active for certain
targets? Our final target is a PowerPC, but I am current doing the
research on a Linux i686 box.

Henry Rosenbrock Jr.
Senior Software Engineer
Smiths Industries Aerospace
3290 Patterson Ave, S.E.
Grand Rapids MI, 49512





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: GNAT/Ada Traceback Information?
  1999-06-06  0:00 GNAT/Ada Traceback Information? Henry Rosenbrock
@ 1999-06-06  0:00 ` Markus Kuhn
  1999-06-06  0:00   ` Robert Dewar
  1999-06-07  0:00 ` Gautier
  1 sibling, 1 reply; 4+ messages in thread
From: Markus Kuhn @ 1999-06-06  0:00 UTC (permalink / raw)


In article <375AB243.F2176DA5@voyager.net>, Henry Rosenbrock <rosenbr@voyager.net> writes:
|> I was looking for an Ada standard way of recording the traceback
|> information for exceptions. With our current Ada83 compiler(VADS) we had
|> to write assembly code to manually trace back the stack within the
|> exception handlers. When I started to investigate GNAT and Ada95, I
|> noticed that the information was said to be stored in the
|> Ada.Exceptions.Exception_Occurence. The type was private, but that can
|> be easily fixed. The problem is that no traceback information is ever
|> stored into the structure. Does anybody know if this structure was
|> created for future enhancements or if it us only active for certain
|> targets? Our final target is a PowerPC, but I am current doing the
|> research on a Linux i686 box.

The usual well-informend sources of rumours about the next GNAT revision
tell us that there will be a big improvement in this respect coming with
GNAT 3.12. On some platforms, I hear, the traceback can even be
displayed with symbolic information, although I don't know whether
this will also be already available for Linux/ix86.

Symbolic tracebacks (and also core dumps for non-handled exceptions
with the stack fully intact) would be a wonderful help in handling
Murphy's law variant 42b that there is "The most interesting and
difficult to reproduce bugs always show up when you are not
running the debugger."

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: GNAT/Ada Traceback Information?
  1999-06-06  0:00 ` Markus Kuhn
@ 1999-06-06  0:00   ` Robert Dewar
  0 siblings, 0 replies; 4+ messages in thread
From: Robert Dewar @ 1999-06-06  0:00 UTC (permalink / raw)


In article <7jerlk$bt9$1@pegasus.csx.cam.ac.uk>,
  mgk25@cl.cam.ac.uk (Markus Kuhn) wrote:
> Symbolic tracebacks (and also core dumps for non-handled
> exceptions  with the stack fully intact) would be a wonderful
> help in handling Murphy's law variant 42b that there is "The
> most interesting and difficult to reproduce bugs always show
> up when you are not running the debugger."

One useful thing to remember is that gdb is completely
non-intrusive. What a lot of people do throughout the
development process is to *always* run under gdb. There is
really no downside in doing this for many programs, and that
way if something happens, you can grab control without needing
to reproduce the problem

As for tracebacks, they have been available for some time on
some targets, and indeed 3.12a will add this capability for
additional targets. To find out the status of traceback support
for various targets now and in the future, contact
sales@gnat.com.


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: GNAT/Ada Traceback Information?
  1999-06-06  0:00 GNAT/Ada Traceback Information? Henry Rosenbrock
  1999-06-06  0:00 ` Markus Kuhn
@ 1999-06-07  0:00 ` Gautier
  1 sibling, 0 replies; 4+ messages in thread
From: Gautier @ 1999-06-07  0:00 UTC (permalink / raw)
  To: Henry Rosenbrock

> I was looking for an Ada standard way of recording the traceback
> information for exceptions. With our current Ada83 compiler(VADS) we had
> to write assembly code to manually trace back the stack within the
> exception handlers. When I started to investigate GNAT and Ada95, I
> noticed that the information was said to be stored in the
> Ada.Exceptions.Exception_Occurence. The type was private, but that can
> be easily fixed. The problem is that no traceback information is ever
> stored into the structure. Does anybody know if this structure was
> created for future enhancements or if it us only active for certain
> targets? Our final target is a PowerPC, but I am current doing the
> research on a Linux i686 box.

A possibility is to adapt the AD trace-back tool that works
on GNAT/DOS & GNAT/NT.
Bin+Sources @ http://members.xoom.com/gdemont/logiciel/ad.zip
Web page http://members.xoom.com/gdemont/ad.htm

Good luck!

-- 
Gautier

http://members.xoom.com/gdemont/




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1999-06-07  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-06-06  0:00 GNAT/Ada Traceback Information? Henry Rosenbrock
1999-06-06  0:00 ` Markus Kuhn
1999-06-06  0:00   ` Robert Dewar
1999-06-07  0:00 ` Gautier

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