[all-commits] [llvm/llvm-project] 4f2975: [lldb] Implement basic support for reverse-continu...

Jason Molenda via All-commits all-commits at lists.llvm.org
Thu Oct 10 16:08:46 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f297566b3150097de26c6a23a987d2bd5fc19c5
      https://github.com/llvm/llvm-project/commit/4f297566b3150097de26c6a23a987d2bd5fc19c5
  Author: Robert O'Callahan <robert at ocallahan.org>
  Date:   2024-10-10 (Thu, 10 Oct 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
    A lldb/packages/Python/lldbsuite/test/lldbreverse.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Thread.cpp
    A lldb/test/API/functionalities/reverse-execution/Makefile
    A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
    A lldb/test/API/functionalities/reverse-execution/main.c
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp

  Log Message:
  -----------
  [lldb] Implement basic support for reverse-continue (#99736)

This commit only adds support for the
`SBProcess::ReverseContinue()` API. A user-accessible command for this
will follow in a later commit.

This feature depends on a gdbserver implementation (e.g. `rr`) providing
support for the `bc` and `bs` packets. `lldb-server` does not support
those packets, and there is no plan to change that. So, for testing
purposes, `lldbreverse.py` wraps `lldb-server` with a Python
implementation of *very limited* record-and-replay functionality for use
by *tests only*.

The majority of this PR is test infrastructure (about 700 of the 950
lines added).


  Commit: fae7d6848bbb59fc2bad17adbdb34bd6a11a0651
      https://github.com/llvm/llvm-project/commit/fae7d6848bbb59fc2bad17adbdb34bd6a11a0651
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-10-10 (Thu, 10 Oct 2024)

  Changed paths:
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp

  Log Message:
  -----------
  [lldb] SetErrorStringWithFormatv -> FromErrorStringWithFormatv (NFC)


  Commit: c686eeb7fcc89673909e7e1f0a0a09a0da269d28
      https://github.com/llvm/llvm-project/commit/c686eeb7fcc89673909e7e1f0a0a09a0da269d28
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-10-10 (Thu, 10 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py

  Log Message:
  -----------
  [lldb] skip ReverseContinue tests on Darwin

This uses lldb-server in gdbserver mode, which requires a ProcessNative
plugin.  Darwin does not have a ProcessNative plugin; it uses
debugserver instead of lldb-server.  Skip these tests.


Compare: https://github.com/llvm/llvm-project/compare/e9c8f75d45ab...c686eeb7fcc8

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list