summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Windows/Common
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/Common')
-rw-r--r--lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp2
-rw-r--r--lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h2
-rw-r--r--lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp11
3 files changed, 5 insertions, 10 deletions
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
index 6ee882f7f88..cd780518fe2 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
@@ -63,6 +63,8 @@ static bool IsPageExecutable(uint32_t protect) {
namespace lldb_private {
+ProcessDebugger::~ProcessDebugger() {}
+
lldb::pid_t ProcessDebugger::GetDebuggedProcessId() const {
if (m_session_data)
return m_session_data->m_debugger->GetProcess().GetProcessId();
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
index b4d053f8834..a4db76455ef 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
@@ -48,6 +48,8 @@ public:
class ProcessDebugger {
public:
+ virtual ~ProcessDebugger();
+
virtual void OnExitProcess(uint32_t exit_code);
virtual void OnDebuggerConnected(lldb::addr_t image_base);
virtual ExceptionResult OnDebugException(bool first_chance,
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
index c4b7a6d1a90..d4e60ec2b43 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -625,16 +625,7 @@ void ProcessWindows::OnExitProcess(uint32_t exit_code) {
SetProcessExitStatus(GetID(), true, 0, exit_code);
SetPrivateState(eStateExited);
- // If the process exits before any initial stop then notify the debugger
- // of the error otherwise WaitForDebuggerConnection() will be blocked.
- // An example of this issue is when a process fails to load a dependent DLL.
- if (m_session_data && !m_session_data->m_initial_stop_received) {
- Status error(exit_code, eErrorTypeWin32);
- OnDebuggerError(error, 0);
- }
-
- // Reset the session.
- m_session_data.reset();
+ ProcessDebugger::OnExitProcess(exit_code);
}
void ProcessWindows::OnDebuggerConnected(lldb::addr_t image_base) {
OpenPOWER on IntegriCloud