binutils-gdb/gdb/python/lib/gdb
Johan Sternerup 61e608693b DAP: Handle "stepOut" request in outermost frame
Previously a "stepOut" request when in the outermost frame would result
in a sucessful response even though gdb internally would reject the
associated "finish" request, which means no stoppedEvent would ever be
sent back to the client. Thus the client would believe the inferior was
still running and as a consequence reject subsequent "next" and "stepIn"
requests from the user.

The solution is to execute the underlying finish command as a background
command, i.e. `finish &`. If we're in the outermost frame an exception
will be raised immediately, which we can now capture and report back to
the client as success=False so then the absence of a `stopped` event is
no longer a problem.

We also make use of the `defer_stop_event` option to prevent a stop
event from reaching the client until the response has been sent.

Approved-By: Tom Tromey <tom@tromey.com>
2024-06-06 10:25:19 -06:00
..
command Run isort 2024-04-02 11:21:39 -06:00
dap DAP: Handle "stepOut" request in outermost frame 2024-06-06 10:25:19 -06:00
function Run isort 2024-04-02 11:21:39 -06:00
printer Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
__init__.py Run isort 2024-04-02 11:21:39 -06:00
disassembler.py Run isort 2024-04-02 11:21:39 -06:00
FrameDecorator.py gdb: re-format Python files with black 24.1.1 2024-02-12 12:10:34 -05:00
FrameIterator.py Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
frames.py Run isort 2024-04-02 11:21:39 -06:00
missing_debug.py Run isort 2024-04-02 11:21:39 -06:00
printing.py Run isort 2024-04-02 11:21:39 -06:00
prompt.py Run isort 2024-04-02 11:21:39 -06:00
styling.py Run isort 2024-04-02 11:21:39 -06:00
types.py Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
unwinder.py Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
xmethod.py Run isort 2024-04-02 11:21:39 -06:00