void DbgGdb::DoCleanup()
{
#ifdef __WXMSW__
    if(GetIsRemoteDebugging()) {
        SetConsoleCtrlHandler((PHANDLER_ROUTINE)SigHandler, FALSE);
        FreeConsole(); // Disconnect any existing console window.
    }
#endif

    wxDELETE(m_gdbProcess);
    SetIsRecording(false);
    m_reverseDebugging = false;
    m_goingDown = false;
    m_attachedMode = false;

    SetIsRemoteDebugging(false);
    SetIsRemoteExtended(false);
    EmptyQueue();
    m_gdbOutputArr.Clear();
    m_bpList.clear();
    m_debuggeeProjectName.Clear();

    // Clear any bufferd output
    m_gdbOutputIncompleteLine.Clear();

    // Free allocated console for this session
    m_consoleFinder.FreeConsole();
}
Example #2
0
void DbgGdb::OnProcessEnd(wxCommandEvent &e)
{
	ProcessEventData *ped = (ProcessEventData *)e.GetClientData();
	delete ped;

	if ( m_gdbProcess ) {
		delete m_gdbProcess;
		m_gdbProcess = NULL;
	}

	m_observer->UpdateGotControl(DBG_EXITED_NORMALLY);
	m_gdbOutputArr.Clear();
	m_consoleFinder.FreeConsole();
	SetIsRemoteDebugging(false);
}
Example #3
0
void DbgGdb::DoCleanup()
{
    if ( m_gdbProcess ) {
        delete m_gdbProcess;
        m_gdbProcess = NULL;
    }

    m_goingDown = false;
    m_attachedMode = false;

    SetIsRemoteDebugging( false );
    SetIsRemoteExtended( false );
    EmptyQueue();
    m_gdbOutputArr.Clear();
    m_bpList.clear();
    m_debuggeeProjectName.Clear();

    // Clear any bufferd output
    m_gdbOutputIncompleteLine.Clear();

    // Free allocated console for this session
    m_consoleFinder.FreeConsole();
}