[Lldb-commits] [lldb] [lldb] Fix error that lead Windows to think it could reverse execute (PR #137351)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Apr 25 08:51:00 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: David Spickett (DavidSpickett)
<details>
<summary>Changes</summary>
The new test added in https://github.com/llvm/llvm-project/pull/132783 was failing on Windows because it created a new error to say it did not support the feature, but then returned the existing, default constructed error. Which was a success value.
This also changes the GDBRemote error message to the same phrasing used in all the other places so we don't have to special case any platform.
---
Full diff: https://github.com/llvm/llvm-project/pull/137351.diff
3 Files Affected:
- (modified) lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp (+3-3)
- (modified) lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (+1-1)
- (modified) lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py (+3-2)
``````````diff
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
index 9196ac2702c85..331139d029f50 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -239,15 +239,15 @@ ProcessWindows::DoAttachToProcessWithID(lldb::pid_t pid,
Status ProcessWindows::DoResume(RunDirection direction) {
Log *log = GetLog(WindowsLog::Process);
llvm::sys::ScopedLock lock(m_mutex);
- Status error;
if (direction == RunDirection::eRunReverse) {
- error.FromErrorStringWithFormatv(
+ return Status::FromErrorStringWithFormatv(
"error: {0} does not support reverse execution of processes",
GetPluginName());
- return error;
}
+ Status error;
+
StateType private_state = GetPrivateState();
if (private_state == eStateStopped || private_state == eStateCrashed) {
LLDB_LOG(log, "process {0} is in state {1}. Resuming...",
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index b616e99be83b2..f924d1194e8a1 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1410,7 +1410,7 @@ Status ProcessGDBRemote::DoResume(RunDirection direction) {
LLDB_LOGF(log, "ProcessGDBRemote::DoResume: target does not "
"support reverse-continue");
return Status::FromErrorString(
- "target does not support reverse-continue");
+ "target does not support reverse execution of processes");
}
if (num_continue_C_tids > 0) {
diff --git a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
index 54d757dc4b98b..167d5827bff55 100644
--- a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
+++ b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
@@ -11,7 +11,6 @@
class TestReverseContinueNotSupported(TestBase):
- @skipIfWindows
def test_reverse_continue_not_supported(self):
target = self.connect()
@@ -26,7 +25,9 @@ def test_reverse_continue_not_supported(self):
self.expect(
"process continue --reverse",
error=True,
- substrs=["target does not support reverse-continue"],
+ # This error is "<plugin name> does not support...". The plugin name changes
+ # between platforms.
+ substrs=["does not support reverse execution of processes"],
)
def test_reverse_continue_forward_and_reverse(self):
``````````
</details>
https://github.com/llvm/llvm-project/pull/137351
More information about the lldb-commits
mailing list