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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,cd24ffa36ebe3ef6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-03-06 12:45:42 PST Path: bga.com!news.sprintlink.net!uunet!in1.uu.net!heifetz.msen.com!yale.edu!not-for-mail From: griest-tom@cs.yale.edu (Tom Griest) Newsgroups: comp.lang.ada Subject: Re: debugging GNAT programs Date: 6 Mar 1995 14:34:29 -0500 Organization: Yale University Computer Science Dept., New Haven, CT 06520-2158 Message-ID: <3jfo45INNj76@RA.DEPT.CS.YALE.EDU> References: <3j8q5cINNsdr@RA.DEPT.CS.YALE.EDU> <3jd2ts$91@gnat.cs.nyu.edu> NNTP-Posting-Host: dept-gw.cs.yale.edu Date: 1995-03-06T14:34:29-05:00 List-Id: banner@cs.nyu.edu (Bernard Banner) writes: >griest-tom@cs.yale.edu (Tom Griest) writes: >: __gnat_raise is only called for unhandled exceptions (which was >: the original question). If you want to catch any exception you >: have to also set a breakpoint on the longjmp routine. >: (I'm not sure that this isn't used for things other than just >: exception propogation, but it seems to work reliably.) >: >: -Tom > >__gnat_raise is called on every exception raised whether it is handled or >not. __gnat_unhandled_exception is called only for unhandled exceptions. > >Bernard Banner I remember having a problem catching an exception by just setting a break on __gnat_raise. Somehow (either through __gnat_reraise or a direct reference in the generated code) __gnat_raise_nodefer was getting invoked and the longjmp was getting taken without an intervening call to __gnat_raise. This was a couple of months ago, so things may be a little different now. _tom