llvm-project/lldb
Pavel Labath 8ccfcab34f [lldb/platform-gdb] Clear cached protocol state upon disconnection
Previously we would persist the flags indicating whether the remote side
supports a particular feature across reconnects, which is obviously not
a good idea.

I implement the clearing by nuking (its the only way to be sure :) the
entire GDBRemoteCommunication object in the disconnect operation and
creating a new one upon connection. This allows us to maintain a nice
invariant that the GDBRemoteCommunication object (which is now a
pointer) exists only if it is connected. The downside to that is that a
lot of functions now needs to check the validity of the pointer instead
of blindly accessing the object.

The process communication does not suffer from the same issue because we
always destroy the entire Process object for a relaunch.

Differential Revision: https://reviews.llvm.org/D116539
2022-01-10 16:27:30 +01:00
..
bindings [lldb] Remove lldbconfig module 2022-01-07 15:58:43 -08:00
cmake [lldb] Use `GNUInstallDirs` to support custom installation dirs. 2021-12-22 00:28:53 +00:00
docs [lldb][docs] Update references to SVN 2022-01-09 13:21:40 -08:00
examples [lldb/plugins] Add arm64(e) support to ScriptedProcess 2021-12-06 16:11:59 -08:00
include/lldb [lldb] Remove LLDB_RECORD_RESULT macro 2022-01-09 22:54:17 -08:00
packages/Python/lldbsuite [lldb/platform-gdb] Clear cached protocol state upon disconnection 2022-01-10 16:27:30 +01:00
resources [lldb] Remove stale LLDB-Info.plist 2021-01-08 10:12:16 -08:00
scripts Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
source [lldb/platform-gdb] Clear cached protocol state upon disconnection 2022-01-10 16:27:30 +01:00
test [lldb/platform-gdb] Clear cached protocol state upon disconnection 2022-01-10 16:27:30 +01:00
third_party/Python/module [lldb][NFC] Inclusive language: replace master/slave names for ptys 2021-11-12 10:54:18 -06:00
tools [lldb] [debugserver] Simplify handling of arch specific files 2022-01-06 10:23:04 +02:00
unittests [lldb] Remove reproducer instrumentation 2022-01-09 21:40:55 -08:00
utils [lldb] Match test dependencies name to other LLVM projects. 2021-05-21 00:10:27 -07:00
.clang-format
.clang-tidy [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
.gitignore
CMakeLists.txt [lldb] Use `GNUInstallDirs` to support custom installation dirs. 2021-12-22 00:28:53 +00:00
CODE_OWNERS.txt
LICENSE.TXT
use_lldb_suite_root.py