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=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,50ad4ada98045ba X-Google-Attributes: gid103376,public From: Steve Quinlan Subject: Re: A small Ada success story Date: 1999/03/26 Message-ID: <36FBBE31.348E17A4@nospam.lmco.com>#1/1 X-Deja-AN: 459407562 Content-Transfer-Encoding: 7bit References: <119fb4e248%hubersn@lcs.wn.bawue.de> <36efef1c.3265725@news.pacbell.net> <7cp9cp$743$1@nnrp1.dejanews.com> <7cth1u$9vb@top.mitre.org> Content-Type: text/plain; charset=us-ascii Organization: Lockheed-Martin Air Traffic Management Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-03-26T00:00:00+00:00 List-Id: > T.E.D.> I sure wish more compiler vendors made this > > information (line number of an exception occurrence) > > available without using a debugger. > > I agree, this would be a welcome enhancement. This is becoming more common. OC Systems compiler has had this for years. Not only does an unhandled exception give a symbolic traceback to stdout, but there are interfaces to get this information in the runtime as well, so that a program which has an exception can record (through some error reporting service) the information about that exception needed to debug it. In domains where your app. is running in an environment where there is no user sitting at a terminal to see and record the screen dump, this has been very important to use in being able to debug problems. We have an entire Error Reporting/Recording architecture built around the ability of programs to detect error conditions, pass data to the Error Reporting Service, and get the data as well as symbolic tracebacks recorded for later offline analysis. I did a compiler trade study last year to select an Ada compiler for a new FAA Air Traffic Control project, and one criteria was that the compiler either have or be willing to develop support for getting symbolic exception tracebacks with line numbers at runtime. In addition, we want to be able to get symbolic stackbacks from any arbitrary point in the code (not necessarily in an exception scope). Aonix was already adding the exception support. Rational was as well, but only wanted to provided non-symbolic PC values which would have to be run through a tool to get symbolics. GNAT developed such a feature for us. Of course, it is true that there is no standard across vendors, but I don't see that as too much of a problem. We've managed to encapsulate these things in the Error Reporting service. Whether we use OCS or GNAT specific interfaces is hidden from the application programs that detect and record their own errors. Steve Quinlan