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.2 required=5.0 tests=BAYES_00,HK_RANDOM_FROM, INVALID_DATE,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!ncrlnk!wright!tmcclory From: tmcclory@wright.EDU (Tom McClory) Newsgroups: comp.lang.ada Subject: Novice Questions on Ada Exceptions Keywords: PROGRAM_ERROR exceptions debugging maintenance Message-ID: <620@thor.wright.EDU> Date: 21 Aug 89 01:22:13 GMT Organization: Wright State University, Dayton OH, 45435 List-Id: I am attempting to port the Ada Test an Analysis Tools package, (contributed by Intermetrics to the Ada Repository) to the UNIX operating system using the Verdix Ada Compiler (release 5.4). The package compiled with no obvious errors, and what appear to be minor warnings. However, the program fails during operation with the following exception message: ** MAIN PROGRAM ABANDONED -- EXCEPTION "program_error" RAISED The VADS debugger sheds a little more light on this with the output: RM 11.3(3): RAISE statement reraised exception This leads to several questions . . . 1) Does anyone have experience porting/using this "Ada Test and Analysis Tools" package from the Ada Repository? Are there any configuration issues I may have missed? The changes I made were to define a type "long float" and to fix a few typographical errors (missing spaces) that may have been introduced during upload. 2) A more general question . . . what are typical causes for "PROGRAM_ERROR" exceptions? More specifically, what might be causing this error? The text book I'm using (_Understanding Ada_, by Bray & Pokrass, 1985) mentions only "leaving a function without executing a return statement." (Won't the compiler catch these?) 3) Even more general . . . what are good strategies for tracking the source of exceptions in large programs you personally didn't write? The behavior of the VADS debugger during exception handling seems shaky (I get warning messages about loosing track of pointers), so I don't trust the information I've gotten. Neither the error message, nor the debugger, accurately pinpoint the source of the exception. Rather, the debugger states "exception raised xxx instructions beyond the statement shown", which is the last statement in the last block of whatever file happened to be displayed when the exception triggered. Any suggestions are welcomed. Thanks in advance.