aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.python/py-breakpoint.c
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2021-05-05 15:26:28 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2021-06-25 18:22:07 +0100
commit6b95f5ad9684530960eb828c76755a7b27a44e43 (patch)
tree6773652e729a43cf304ff4354ff18ef6c81088bb /gdb/testsuite/gdb.python/py-breakpoint.c
parent08080f9744094772e935204a9d59a101da83a801 (diff)
downloadbinutils-6b95f5ad9684530960eb828c76755a7b27a44e43.zip
binutils-6b95f5ad9684530960eb828c76755a7b27a44e43.tar.gz
binutils-6b95f5ad9684530960eb828c76755a7b27a44e43.tar.bz2
gdb/python: allow for catchpoint type breakpoints in python
This commit adds initial support for catchpoints to the python breakpoint API. This commit adds a BP_CATCHPOINT constant which corresponds to GDB's internal bp_catchpoint. The new constant is documented in the manual. The user can't create breakpoints with type BP_CATCHPOINT after this commit, but breakpoints that already exist, obtained with the `gdb.breakpoints` function, can now have this type. Additionally, when a stop event is reported for hitting a catchpoint, GDB will now report a BreakpointEvent with the attached breakpoint being of type BP_CATCHPOINT - previously GDB would report a generic StopEvent in this situation. gdb/ChangeLog: * NEWS: Mention Python BP_CATCHPOINT feature. * python/py-breakpoint.c (pybp_codes): Add bp_catchpoint support. (bppy_init): Likewise. (gdbpy_breakpoint_created): Likewise. gdb/doc/ChangeLog: * python.texinfo (Breakpoints In Python): Add BP_CATCHPOINT description. gdb/testsuite/ChangeLog: * gdb.python/py-breakpoint.c (do_throw): New function. (main): Call do_throw. * gdb.python/py-breakpoint.exp (test_catchpoints): New proc.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-breakpoint.c')
-rw-r--r--gdb/testsuite/gdb.python/py-breakpoint.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.python/py-breakpoint.c b/gdb/testsuite/gdb.python/py-breakpoint.c
index 830e4c2..dca668d 100644
--- a/gdb/testsuite/gdb.python/py-breakpoint.c
+++ b/gdb/testsuite/gdb.python/py-breakpoint.c
@@ -39,6 +39,11 @@ int add (int i)
return i + i; /* Break at function add. */
}
+void
+do_throw ()
+{
+ throw 123;
+}
int main (int argc, char *argv[])
{
@@ -46,6 +51,15 @@ int main (int argc, char *argv[])
int bar = 42;
int i;
+ try
+ {
+ do_throw ();
+ }
+ catch (...)
+ {
+ /* Nothing. */
+ }
+
for (i = 0; i < 10; i++)
{
result += multiply (foo); /* Break at multiply. */