void CodeLiteLLDBApp::AttachProcess(const LLDBCommand& command) { wxPrintf("codeite-lldb: attaching to process with PID %d\n", command.GetProcessID()); if(!InitializeLLDB(command)) { return; } lldb::SBError errorCode; lldb::SBListener listener; lldb::SBProcess process = m_target.AttachToProcessWithID(listener, (lldb::pid_t)command.GetProcessID(), errorCode); if(!errorCode.Success()) { wxPrintf("codeite-lldb: error attaching process %d. '%s'\n", command.GetProcessID(), errorCode.GetCString()); NotifyExited(); return; } wxPrintf("codeite-lldb: process attached successfully\n"); // Launch the thread that will handle the LLDB process events m_lldbProcessEventThread = new LLDBProcessEventHandlerThread(this, m_debugger, m_target.GetProcess(), kDebugSessionTypeAttach); m_lldbProcessEventThread->Start(); // In any case, reset the interrupt reason m_interruptReason = kInterruptReasonNone; // Notify codelite that the debugger started successfully NotifyStarted(kDebugSessionTypeAttach); }