void GdbRemoteServerEngine::handleTargetRemote(const GdbResponse &response) { QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); if (response.resultClass == GdbResultDone) { // gdb server will stop the remote application itself. showMessage(_("INFERIOR STARTED")); showMessage(msgAttachedToStoppedInferior(), StatusBar); QString postAttachCommands = debuggerCore()->stringSetting(GdbPostAttachCommands); if (!postAttachCommands.isEmpty()) { foreach (const QString &cmd, postAttachCommands.split(QLatin1Char('\n'))) postCommand(cmd.toLatin1()); }
void RemoteGdbServerAdapter::handleTargetRemote(const GdbResponse &record) { QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); if (record.resultClass == GdbResultDone) { // gdb server will stop the remote application itself. showMessage(_("INFERIOR STARTED")); showMessage(msgAttachedToStoppedInferior(), StatusBar); m_engine->handleInferiorPrepared(); } else { // 16^error,msg="hd:5555: Connection timed out." QString msg = msgConnectRemoteServerFailed( QString::fromLocal8Bit(record.data.findChild("msg").data())); m_engine->notifyInferiorSetupFailed(msg); } }
void RemoteGdbAdapter::handleTargetRemote(const GdbResponse &record) { QTC_ASSERT(state() == InferiorStarting, qDebug() << state()); if (record.resultClass == GdbResultDone) { setState(InferiorStopped); // gdb server will stop the remote application itself. debugMessage(_("INFERIOR STARTED")); showStatusMessage(msgAttachedToStoppedInferior()); emit inferiorPrepared(); } else { // 16^error,msg="hd:5555: Connection timed out." QString msg = msgConnectRemoteServerFailed( QString::fromLocal8Bit(record.data.findChild("msg").data())); emit inferiorStartFailed(msg); } }
void GdbAttachEngine::handleAttach(const GdbResponse &response) { QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); switch (response.resultClass) { case GdbResultDone: case GdbResultRunning: showMessage(_("INFERIOR ATTACHED")); showMessage(msgAttachedToStoppedInferior(), StatusBar); handleInferiorPrepared(); break; case GdbResultError: if (response.data.findChild("msg").data() == "ptrace: Operation not permitted.") { notifyInferiorSetupFailed(DumperHelper::msgPtraceError(startParameters().startMode)); break; } // if msg != "ptrace: ..." fall through default: QString msg = QString::fromLocal8Bit(response.data.findChild("msg").data()); notifyInferiorSetupFailed(msg); } }
void RemoteGdbServerAdapter::handleTargetQnx(const GdbResponse &response) { QTC_ASSERT(m_engine->m_isQnxGdb, qDebug() << m_engine->m_isQnxGdb); QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); if (response.resultClass == GdbResultDone) { // gdb server will stop the remote application itself. showMessage(_("INFERIOR STARTED")); showMessage(msgAttachedToStoppedInferior(), StatusBar); const qint64 pid = startParameters().attachPID; if (pid > -1) { m_engine->postCommand("attach " + QByteArray::number(pid), CB(handleAttach)); } else { m_engine->handleInferiorPrepared(); } } else { // 16^error,msg="hd:5555: Connection timed out." QString msg = msgConnectRemoteServerFailed( QString::fromLocal8Bit(response.data.findChild("msg").data())); m_engine->notifyInferiorSetupFailed(msg); } }