From: Tom Tromey <tromey@adacore.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 00/25] Many updates to DAP implementation
Date: Wed, 24 May 2023 10:36:51 -0600 [thread overview]
Message-ID: <20230427-ada-catch-exception-v1-0-947caa9905e3@adacore.com> (raw)
I've been working steadily on the DAP implementation. This series
combines a number of patches.
It starts with some general refactoring of Ada catchpoints, to make
them work more like C++ catchpoints. In particular, now they can be
set before the inferior has started. This is then used to implement
the DAP setExceptionBreakpoints request.
Other patches add DAP features. In some cases a new Python API is
added so that it can be used by DAP.
I do have some more patches to come after this series goes in.
Regression tested on x86-64 Fedora 36.
---
Tom Tromey (25):
Stop gdb in gnat_runtime_has_debug_info
Use gnat_runtime_has_debug_info in Ada catchpoint tests
Pass tempflag to ada_catchpoint constructor
Transfer ownership of exception string to ada_catchpoint
Combine create_excep_cond_exprs and ada_catchpoint::re_set
Turn should_stop_exception into a method of ada_catchpoint
Mark members of ada_catchpoint "private"
Don't require inferior execution for Ada catchpoints
Implement DAP setExceptionBreakpoints request
Implement DAP attach request
Implement DAP stepOut request
Add singleThread support to some DAP requests
Rename one DAP function
Add test for DAP pause request
Fix a latent bug in DAP request decorator
Use tuples for default arguments in DAP
Add type-checking to DAP requests
Add gdb.Value.assign method
Implement DAP setExpression request
Handle DAP supportsVariableType capability
Add "target" parameter to DAP attach request
Add "stop at main" extension to DAP launch request
Implement DAP breakpointLocations request
Do not report totalFrames from DAP stackTrace request
Implement DAP conditional breakpoints
gdb/NEWS | 2 +
gdb/ada-lang.c | 210 +++++++++----------------
gdb/ada-lang.h | 2 +-
gdb/data-directory/Makefile.in | 2 +
gdb/doc/gdb.texinfo | 17 ++
gdb/doc/python.texi | 6 +
gdb/mi/mi-cmd-catch.c | 4 +-
gdb/python/lib/gdb/dap/__init__.py | 1 +
gdb/python/lib/gdb/dap/breakpoint.py | 143 ++++++++++++++---
gdb/python/lib/gdb/dap/bt.py | 14 +-
gdb/python/lib/gdb/dap/disassemble.py | 7 +-
gdb/python/lib/gdb/dap/evaluate.py | 38 ++++-
gdb/python/lib/gdb/dap/launch.py | 42 ++++-
gdb/python/lib/gdb/dap/locations.py | 45 ++++++
gdb/python/lib/gdb/dap/memory.py | 4 +-
gdb/python/lib/gdb/dap/next.py | 51 ++++--
gdb/python/lib/gdb/dap/scopes.py | 2 +-
gdb/python/lib/gdb/dap/server.py | 24 ++-
gdb/python/lib/gdb/dap/typecheck.py | 88 +++++++++++
gdb/python/lib/gdb/dap/varref.py | 3 +
gdb/python/py-value.c | 30 ++++
gdb/testsuite/gdb.ada/catch_assert_if.exp | 28 +---
gdb/testsuite/gdb.ada/catch_ex.exp | 18 +--
gdb/testsuite/gdb.ada/catch_ex_std.exp | 27 +---
gdb/testsuite/gdb.ada/excep_handle.exp | 24 +--
gdb/testsuite/gdb.ada/mi_catch_assert.exp | 33 +---
gdb/testsuite/gdb.ada/mi_catch_ex.exp | 31 +---
gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp | 32 +---
gdb/testsuite/gdb.ada/mi_ex_cond.exp | 33 +---
gdb/testsuite/gdb.dap/attach.c | 25 +++
gdb/testsuite/gdb.dap/attach.exp | 36 +++++
gdb/testsuite/gdb.dap/basic-dap.c | 12 +-
gdb/testsuite/gdb.dap/basic-dap.exp | 35 ++++-
gdb/testsuite/gdb.dap/catch-exception.exp | 66 ++++++++
gdb/testsuite/gdb.dap/catch-exception/pck.ads | 18 +++
gdb/testsuite/gdb.dap/catch-exception/prog.adb | 44 ++++++
gdb/testsuite/gdb.dap/cond-bp.c | 26 +++
gdb/testsuite/gdb.dap/cond-bp.exp | 65 ++++++++
gdb/testsuite/gdb.dap/pause.exp | 41 +++++
gdb/testsuite/gdb.dap/remote-dap.exp | 49 ++++++
gdb/testsuite/gdb.dap/stop-at-main.exp | 37 +++++
gdb/testsuite/gdb.dap/type_check.exp | 29 ++++
gdb/testsuite/gdb.dap/type_check.py | 96 +++++++++++
gdb/testsuite/gdb.python/py-value.exp | 14 ++
gdb/testsuite/lib/ada.exp | 2 +
gdb/testsuite/lib/dap-support.exp | 43 ++++-
46 files changed, 1199 insertions(+), 400 deletions(-)
---
base-commit: 389971df23ca74092314dbde1303310a33766ba7
change-id: 20230427-ada-catch-exception-89d3649d3cad
Best regards,
--
Tom Tromey <tromey@adacore.com>
next reply other threads:[~2023-05-24 16:37 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 16:36 Tom Tromey [this message]
2023-05-24 16:36 ` [PATCH 01/25] Stop gdb in gnat_runtime_has_debug_info Tom Tromey
2023-05-24 16:36 ` [PATCH 02/25] Use gnat_runtime_has_debug_info in Ada catchpoint tests Tom Tromey
2023-06-13 20:10 ` Tom de Vries
2023-06-19 9:49 ` Tom de Vries
2023-06-20 13:56 ` Tom Tromey
2023-05-24 16:36 ` [PATCH 03/25] Pass tempflag to ada_catchpoint constructor Tom Tromey
2023-05-24 16:36 ` [PATCH 04/25] Transfer ownership of exception string to ada_catchpoint Tom Tromey
2023-05-24 16:36 ` [PATCH 05/25] Combine create_excep_cond_exprs and ada_catchpoint::re_set Tom Tromey
2023-05-24 16:36 ` [PATCH 06/25] Turn should_stop_exception into a method of ada_catchpoint Tom Tromey
2023-05-24 16:36 ` [PATCH 07/25] Mark members of ada_catchpoint "private" Tom Tromey
2023-05-24 16:36 ` [PATCH 08/25] Don't require inferior execution for Ada catchpoints Tom Tromey
2023-05-24 16:37 ` [PATCH 09/25] Implement DAP setExceptionBreakpoints request Tom Tromey
2023-05-24 16:37 ` [PATCH 10/25] Implement DAP attach request Tom Tromey
2023-05-24 16:53 ` Eli Zaretskii
2023-05-24 16:37 ` [PATCH 11/25] Implement DAP stepOut request Tom Tromey
2023-05-24 16:37 ` [PATCH 12/25] Add singleThread support to some DAP requests Tom Tromey
2023-05-24 16:37 ` [PATCH 13/25] Rename one DAP function Tom Tromey
2023-05-24 16:37 ` [PATCH 14/25] Add test for DAP pause request Tom Tromey
2023-05-24 16:37 ` [PATCH 15/25] Fix a latent bug in DAP request decorator Tom Tromey
2023-05-24 16:37 ` [PATCH 16/25] Use tuples for default arguments in DAP Tom Tromey
2023-05-24 16:37 ` [PATCH 17/25] Add type-checking to DAP requests Tom Tromey
2023-05-24 16:37 ` [PATCH 18/25] Add gdb.Value.assign method Tom Tromey
2023-05-24 16:54 ` Eli Zaretskii
2023-05-24 16:37 ` [PATCH 19/25] Implement DAP setExpression request Tom Tromey
2023-05-24 16:37 ` [PATCH 20/25] Handle DAP supportsVariableType capability Tom Tromey
2023-05-24 16:37 ` [PATCH 21/25] Add "target" parameter to DAP attach request Tom Tromey
2023-05-24 16:55 ` Eli Zaretskii
2023-05-24 16:37 ` [PATCH 22/25] Add "stop at main" extension to DAP launch request Tom Tromey
2023-05-24 16:56 ` Eli Zaretskii
2023-05-24 16:37 ` [PATCH 23/25] Implement DAP breakpointLocations request Tom Tromey
2023-05-24 16:37 ` [PATCH 24/25] Do not report totalFrames from DAP stackTrace request Tom Tromey
2023-05-24 16:37 ` [PATCH 25/25] Implement DAP conditional breakpoints Tom Tromey
2023-06-12 18:11 ` [PATCH 00/25] Many updates to DAP implementation Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230427-ada-catch-exception-v1-0-947caa9905e3@adacore.com \
--to=tromey@adacore.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).