From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,91c5b958fecf5eff X-Google-Attributes: gid103376,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: GNAT exception traceback Date: 1997/06/14 Message-ID: #1/1 X-Deja-AN: 248367972 References: <339EFAE3.26C@ccis.adisys.com.au> <33A22F37.41CBA26B@erols.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1997-06-14T00:00:00+00:00 List-Id: In article , Robert Dewar wrote: >Full tracebacks are another matter. There are serious performance penalities >in making exception occurrences be of arbitrary length, and also some very >nasty cases. ... How about storing a fixed-length traceback? Usually the top few stack frames are enough for debugging. So you could pick some number, say 40 stack frames, and store that many from the top of the stack. No need to use the heap, unless the programmer explicitly copies it to the heap. Or maybe the top 30 and bottom 10. Or maybe make it user configurable. Although Exception_Information returns a String, the traceback data should be stored internally in a more compact form (a series of return addresses, or some such), and converted to String when E_I is called. - Bob