This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC/RFA] Add support for catch Ada exceptions (take 2)


Hello,

Here is a second version of the patch adding support for breaking
on Ada exception. It should incorporate the feedback provided by Eli.
The testcase has been also updated accordingly. The initial discussion
started at:

        http://www.sourceware.org/ml/gdb-patches/2006-12/msg00354.html

2006-12-31  Joel Brobecker  <brobecker@adacore.com>

        * breakpoint.h (enum bptype): Add bp_catch_exception,
        bp_catch_unhandled_exception, and bp_catch_failed_assertion.
        * ada-lang.h (ada_find_printable_frame): Remove declaration.
        (ada_exception_sal): Add declaration.
        (ada_decode_exception_location): Likewise.
        * ada-lang.c: Add include of annotate.h and valprint.h.
        (function_name_from_pc): New function.
        (is_known_support_routine): New function.
        (ada_find_printable_frame): New function.
        (ada_unhandled_exception_name_addr): New function.
        (ada_exception_name_addr_1): New function.
        (ada_exception_name_addr): New function.
        (print_exception_catchpoint): New function.
        (print_one_exception_catchpoint): New function.
        (print_mention_exception_catchpoint): New function.
        (ada_exception_catchpoint_ops): New static variable.
        (error_breakpoint_runtime_sym_not_found): New function.
        (ada_get_next_arg): New function.
        (catch_ada_exception_command_split): New function.
        (ada_exception_catchpoint_cond_string): New function.
        (ada_parse_catchpoint_condition): New function.
        (ada_exception_sal): New function.
        (ada_decode_exception_location): New function.
        * breakpoint.c: Include ada-lang.h. Add support for Ada exception
        catchpoints throughout.
        (ep_is_ada_exception_catchpoint): New function.
        (create_ada_exception_breakpoint): New function.
        (catch_ada_exception_command): New function.
        (catch_assert_command): New function.
        (catch_command_1): Add handling for "exception" and "assert"
        subcommands.
        (_initialize_breakpoint): Update the documentation of "catch".
        * Makefile.in (ada-lang.o): Add dependency on annotate.h and
        valprint.h.
        (breakpoint.o): Add dependency on ada-lang.h.

2006-12-31  Joel Brobecker  <brobecker@adacore.com>

        * gdb.ada/catch_ex/foo.adb: New file.
        * gdb.ada/catch_ex.exp: New testcase.

-- 
Joel

Attachment: catch-except-v3.diff
Description: Text document

Attachment: foo.adb
Description: Text document

Attachment: catch_ex.exp
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]