public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
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>


             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).