improve Ada exception catchpoint MI notification

This rewrites the code generating the Ada exception catchpoint hit
notification for both the GDB/MI case as well as the non-MI case,
by using the relevant ui_out_* functions to generate the output.
the MI notifications for Ada exception catchpoints now include
the stop reason, and the breakpoint "disp", much like other breakpoint
events do.  It also introduces a new field "exception-name" for
exception catchpoints (excluding "failed assertion catchpoints,
where we just want to know that it was a failed assertion).

gdb/ChangeLog:

        * breakpoint.h (bpdisp_text): Add declaration.
        * breakpoint.c (bpdisp_text): Make non-static.
        * ada-lang.c: #include "mi/mi-common.h".
        (print_it_exception): Rewrite to improve GDB/MI output.

gdb/doc/ChangeLog:

        * gdb.texinfo (GDB/MI Ada Exception Information): Document
        the "exception-name" field in the *stopped async record.

gdb/testsuite/ChangeLog:

        * gdb.ada/mi_catch_ex: New testcase.
This commit is contained in:
Joel Brobecker
2011-04-01 16:59:58 +00:00
parent d0c4d64237
commit 956a9fb9fb
9 changed files with 256 additions and 24 deletions

View File

@ -961,6 +961,10 @@ extern void breakpoint_auto_delete (bpstat);
is hit. */
extern struct command_line *breakpoint_commands (struct breakpoint *b);
/* Return a string image of DISP. The string is static, and thus should
NOT be deallocated after use. */
const char *bpdisp_text (enum bpdisp disp);
extern void break_command (char *, int);
extern void hbreak_command_wrapper (char *, int);