diff options
author | David Spickett <david.spickett@linaro.org> | 2025-01-31 15:56:33 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-31 15:56:33 +0000 |
commit | 7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b (patch) | |
tree | 3f36172b709672dcfe7558bbdfd10b6c795d560f /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | |
parent | 0d63a3d7572039095fabeadc7f1370da7dfa0d1b (diff) | |
download | llvm-7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b.zip llvm-7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b.tar.gz llvm-7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b.tar.bz2 |
Reland "[lldb] Implement basic support for reverse-continue" (#125242)
This reverts commit a774de807e56c1147d4630bfec3110c11d41776e.
This is the same changes as last time, plus:
* We load the binary into the target object so that on Windows, we can
resolve the locations of the functions.
* We now assert that each required breakpoint has at least 1 location,
to prevent an issue like that in the future.
* We are less strict about the unsupported error message, because it
prints "error: windows" on Windows instead of "error: gdb-remote".
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp index d2111ce..3360bd9 100644 --- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp +++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp @@ -182,10 +182,15 @@ void ScriptedProcess::DidResume() { m_pid = GetInterface().GetProcessID(); } -Status ScriptedProcess::DoResume() { +Status ScriptedProcess::DoResume(RunDirection direction) { LLDB_LOGF(GetLog(LLDBLog::Process), "ScriptedProcess::%s resuming process", __FUNCTION__); - return GetInterface().Resume(); + if (direction == RunDirection::eRunForward) + return GetInterface().Resume(); + // FIXME: Pipe reverse continue through Scripted Processes + return Status::FromErrorStringWithFormatv( + "error: {0} does not support reverse execution of processes", + GetPluginName()); } Status ScriptedProcess::DoAttach(const ProcessAttachInfo &attach_info) { |