mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
* breakpoint.c (print_one_catch_fork, print_one_catch_vfork)
(print_one_catch_solib, print_one_catch_syscall) (print_one_catch_exec, print_one_exception_catchpoint): Emit "catch-type". gdb/doc * gdb.texinfo (GDB/MI Breakpoint Information): Document "catch-type" field. (GDB/MI Catchpoint Commands): Add "catch-type" to examples. gdb/testsuite * gdb.mi/mi-catch-load.exp: Look for "catch-type".
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2013-01-16 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* breakpoint.c (print_one_catch_fork, print_one_catch_vfork)
|
||||||
|
(print_one_catch_solib, print_one_catch_syscall)
|
||||||
|
(print_one_catch_exec, print_one_exception_catchpoint): Emit
|
||||||
|
"catch-type".
|
||||||
|
|
||||||
2013-01-16 Yao Qi <yao@codesourcery.com>
|
2013-01-16 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
* printcmd.c (current_display_number): Make it static.
|
* printcmd.c (current_display_number): Make it static.
|
||||||
|
@ -7529,6 +7529,9 @@ print_one_catch_fork (struct breakpoint *b, struct bp_location **last_loc)
|
|||||||
ptid_get_pid (c->forked_inferior_pid));
|
ptid_get_pid (c->forked_inferior_pid));
|
||||||
ui_out_spaces (uiout, 1);
|
ui_out_spaces (uiout, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "fork");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Implement the "print_mention" breakpoint_ops method for fork
|
/* Implement the "print_mention" breakpoint_ops method for fork
|
||||||
@ -7642,6 +7645,9 @@ print_one_catch_vfork (struct breakpoint *b, struct bp_location **last_loc)
|
|||||||
ptid_get_pid (c->forked_inferior_pid));
|
ptid_get_pid (c->forked_inferior_pid));
|
||||||
ui_out_spaces (uiout, 1);
|
ui_out_spaces (uiout, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "vfork");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Implement the "print_mention" breakpoint_ops method for vfork
|
/* Implement the "print_mention" breakpoint_ops method for vfork
|
||||||
@ -7840,6 +7846,10 @@ print_one_catch_solib (struct breakpoint *b, struct bp_location **locs)
|
|||||||
}
|
}
|
||||||
ui_out_field_string (uiout, "what", msg);
|
ui_out_field_string (uiout, "what", msg);
|
||||||
xfree (msg);
|
xfree (msg);
|
||||||
|
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type",
|
||||||
|
self->is_load ? "load" : "unload");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -8251,6 +8261,9 @@ print_one_catch_syscall (struct breakpoint *b,
|
|||||||
else
|
else
|
||||||
ui_out_field_string (uiout, "what", "<any syscall>");
|
ui_out_field_string (uiout, "what", "<any syscall>");
|
||||||
ui_out_text (uiout, "\" ");
|
ui_out_text (uiout, "\" ");
|
||||||
|
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "syscall");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Implement the "print_mention" breakpoint_ops method for syscall
|
/* Implement the "print_mention" breakpoint_ops method for syscall
|
||||||
@ -8488,6 +8501,9 @@ print_one_catch_exec (struct breakpoint *b, struct bp_location **last_loc)
|
|||||||
ui_out_field_string (uiout, "what", c->exec_pathname);
|
ui_out_field_string (uiout, "what", c->exec_pathname);
|
||||||
ui_out_text (uiout, "\" ");
|
ui_out_text (uiout, "\" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "exec");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -11536,9 +11552,17 @@ print_one_exception_catchpoint (struct breakpoint *b,
|
|||||||
if (b->loc)
|
if (b->loc)
|
||||||
*last_loc = b->loc;
|
*last_loc = b->loc;
|
||||||
if (strstr (b->addr_string, "throw") != NULL)
|
if (strstr (b->addr_string, "throw") != NULL)
|
||||||
|
{
|
||||||
ui_out_field_string (uiout, "what", "exception throw");
|
ui_out_field_string (uiout, "what", "exception throw");
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "throw");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
ui_out_field_string (uiout, "what", "exception catch");
|
ui_out_field_string (uiout, "what", "exception catch");
|
||||||
|
if (ui_out_is_mi_like_p (uiout))
|
||||||
|
ui_out_field_string (uiout, "catch-type", "catch");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2013-01-16 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* gdb.texinfo (GDB/MI Breakpoint Information): Document
|
||||||
|
"catch-type" field.
|
||||||
|
(GDB/MI Catchpoint Commands): Add "catch-type" to examples.
|
||||||
|
|
||||||
2013-01-07 Tom Tromey <tromey@redhat.com>
|
2013-01-07 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* gdb.texinfo (Mode Options): Don't mention -epoch.
|
* gdb.texinfo (Mode Options): Don't mention -epoch.
|
||||||
|
@ -27957,6 +27957,10 @@ of a multi-location breakpoint, this will be a dotted pair, like
|
|||||||
The type of the breakpoint. For ordinary breakpoints this will be
|
The type of the breakpoint. For ordinary breakpoints this will be
|
||||||
@samp{breakpoint}, but many values are possible.
|
@samp{breakpoint}, but many values are possible.
|
||||||
|
|
||||||
|
@item catch-type
|
||||||
|
If the type of the breakpoint is @samp{catchpoint}, then this
|
||||||
|
indicates the exact type of catchpoint.
|
||||||
|
|
||||||
@item disp
|
@item disp
|
||||||
This is the breakpoint disposition---either @samp{del}, meaning that
|
This is the breakpoint disposition---either @samp{del}, meaning that
|
||||||
the breakpoint will be deleted at the next stop, or @samp{keep},
|
the breakpoint will be deleted at the next stop, or @samp{keep},
|
||||||
@ -28867,7 +28871,7 @@ The corresponding @value{GDBN} command is @samp{catch load}.
|
|||||||
@smallexample
|
@smallexample
|
||||||
-catch-load -t foo.so
|
-catch-load -t foo.so
|
||||||
^done,bkpt=@{number="1",type="catchpoint",disp="del",enabled="y",
|
^done,bkpt=@{number="1",type="catchpoint",disp="del",enabled="y",
|
||||||
what="load of library matching foo.so",times="0"@}
|
what="load of library matching foo.so",catch-type="load",times="0"@}
|
||||||
(gdb)
|
(gdb)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@ -28896,7 +28900,7 @@ The corresponding @value{GDBN} command is @samp{catch unload}.
|
|||||||
@smallexample
|
@smallexample
|
||||||
-catch-unload -d bar.so
|
-catch-unload -d bar.so
|
||||||
^done,bkpt=@{number="2",type="catchpoint",disp="keep",enabled="n",
|
^done,bkpt=@{number="2",type="catchpoint",disp="keep",enabled="n",
|
||||||
what="load of library matching bar.so",times="0"@}
|
what="load of library matching bar.so",catch-type="unload",times="0"@}
|
||||||
(gdb)
|
(gdb)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2013-01-16 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* gdb.mi/mi-catch-load.exp: Look for "catch-type".
|
||||||
|
|
||||||
2013-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2013-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* gdb.dwarf2/dw2-restrict.exp: Skip compilation on non-x86_64 targets.
|
* gdb.dwarf2/dw2-restrict.exp: Skip compilation on non-x86_64 targets.
|
||||||
|
@ -49,7 +49,7 @@ mi_run_to_main
|
|||||||
# test -catch-load
|
# test -catch-load
|
||||||
mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-load: auto-solib-add on"
|
mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-load: auto-solib-add on"
|
||||||
mi_gdb_test "222-catch-load -t mi-catch-load-so.so*" \
|
mi_gdb_test "222-catch-load -t mi-catch-load-so.so*" \
|
||||||
"222\\^done,bkpt=\{number=\"2\",type=\"catchpoint\",disp=\"del\",enabled=\"y\",what=\"load of library matching mi-catch-load-so\.so\\*\",times=\"0\"\}" \
|
"222\\^done,bkpt=\{number=\"2\",type=\"catchpoint\",disp=\"del\",enabled=\"y\",what=\"load of library matching mi-catch-load-so\.so\\*\",catch-type=\"load\",times=\"0\"\}" \
|
||||||
"catch-load: catch load"
|
"catch-load: catch load"
|
||||||
mi_send_resuming_command "exec-continue" "catch-load: continue"
|
mi_send_resuming_command "exec-continue" "catch-load: continue"
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ mi_run_to_main
|
|||||||
# test -catch-unload
|
# test -catch-unload
|
||||||
mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-unload: auto-solib-add on"
|
mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-unload: auto-solib-add on"
|
||||||
mi_gdb_test "222-catch-unload -t mi-catch-load-so.so*" \
|
mi_gdb_test "222-catch-unload -t mi-catch-load-so.so*" \
|
||||||
"222\\^done,bkpt=\{number=\"2\",type=\"catchpoint\",disp=\"del\",enabled=\"y\",what=\"unload of library matching mi-catch-load-so\.so\\*\",times=\"0\"\}" \
|
"222\\^done,bkpt=\{number=\"2\",type=\"catchpoint\",disp=\"del\",enabled=\"y\",what=\"unload of library matching mi-catch-load-so\.so\\*\",catch-type=\"unload\",times=\"0\"\}" \
|
||||||
"catch-unload: catch unload"
|
"catch-unload: catch unload"
|
||||||
mi_send_resuming_command "exec-continue" "catch-unload: continue"
|
mi_send_resuming_command "exec-continue" "catch-unload: continue"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user