Reland "[lldb] Implement basic support for reverse-continue" (#125242)
This reverts commit a774de807e.
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".
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user