diff options
| author | Stephen Tozer <stephen.tozer@sony.com> | 2025-07-29 16:34:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-29 16:34:41 +0100 |
| commit | 83dfdd8f5485f6b50213c88f02878f86b3f53852 (patch) | |
| tree | e65ef7a1b27707c5ed92ce20a12b28698e6b7695 /cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py | |
| parent | 9bd2aacc68a1c7632abb9410640400dcc09ef50b (diff) | |
[Dexter] Add DAP support for Dexter, including lldb-dap (#149394)
This patch adds a new variety of driver to Dexter, allowing it to work
with DAP-based interfaces for debuggers. The first concrete instance of
this is implemented in this patch, adding support for an `lldb-dap`
debugger. This is functionally very similar to the existing LLDB
debugger support*, but uses lldb-dap as its executable instead of lldb.
This has been tested successfully against the existing feature_test
suite, and manually tested against some other inputs; support is
essentially complete, although any further DAP-based debuggers may
require additional hooks inserted into the base class to deal with any
idiosyncrasies they exhibit (as with the several that have been inserted
for lldb-dap).
NB: There are some small differences resulting from differences between
lldb-dap's use of the lldb API and Dexter's use in its lldb driver; one
small example of this is when evaluating variables, lldb-dap will try to
first use `GetValueForVariablePath` and fallback to `EvaluateExpression`
if necessary, while Dexter will always use `EvaluateExpression`; these
can give slightly different results, resulting in different output from
Dexter for the same input.
Diffstat (limited to 'cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py')
| -rw-r--r-- | cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py index ac3054c3a0ed..c53f1419ee13 100644 --- a/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py +++ b/cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py @@ -181,7 +181,7 @@ class ConditionalController(DebuggerControllerBase): ) timed_out = True - if timed_out: + if timed_out or self.debugger.is_finished: break step_info = self.debugger.get_step_info(self._watches, self._step_index) |
