LLDBConnector::~LLDBConnector() { StopDebugServer(); Unbind(wxEVT_LLDB_EXITED, &LLDBConnector::OnLLDBExited, this); Unbind(wxEVT_LLDB_STARTED, &LLDBConnector::OnLLDBStarted, this); Cleanup(); }
LLDBConnector::~LLDBConnector() { StopDebugServer(); Unbind(wxEVT_LLDB_EXITED, &LLDBConnector::OnLLDBExited, this); Unbind(wxEVT_LLDB_STARTED, &LLDBConnector::OnLLDBStarted, this); Unbind(wxEVT_ASYNC_PROCESS_OUTPUT, &LLDBConnector::OnProcessOutput, this); Unbind(wxEVT_ASYNC_PROCESS_TERMINATED, &LLDBConnector::OnProcessTerminated, this); Cleanup(); }
void LLDBConnector::Cleanup() { // the order matters here, since both are using the same file descriptor // but only m_socket does the actual socket shutdown wxDELETE( m_thread ); m_socket.reset(NULL); InvalidateBreakpoints(); m_isRunning = false; m_canInteract = false; m_runCommand.Clear(); StopDebugServer(); }
Loader::~Loader() { StopDebugServer(); }