void GdbCoreEngine::continueSetupEngine() { if (m_executable.isEmpty()) { // Read executable from core. bool isCore = false; m_executable = readExecutableNameFromCore(&isCore); if (!isCore) { showMessageBox(QMessageBox::Warning, tr("Error Loading Core File"), tr("The specified file does not appear to be a core file.")); notifyEngineSetupFailed(); return; } // Strip off command line arguments. FIXME: make robust. int idx = m_executable.indexOf(QLatin1Char(' ')); if (idx >= 0) m_executable.truncate(idx); if (m_executable.isEmpty()) { showMessageBox(QMessageBox::Warning, tr("Error Loading Symbols"), tr("No executable to load symbols from specified core.")); notifyEngineSetupFailed(); return; } } startGdb(); }
void GdbCoreEngine::continueSetupEngine() { bool isCore = true; if (m_coreUnpackProcess) { isCore = m_coreUnpackProcess->exitCode() == 0; m_coreUnpackProcess->deleteLater(); m_coreUnpackProcess = 0; if (m_tempCoreFile.isOpen()) m_tempCoreFile.close(); } if (isCore && m_executable.isEmpty()) { GdbCoreEngine::CoreInfo cinfo = readExecutableNameFromCore( startParameters().debuggerCommand, coreFileName()); if (cinfo.isCore) { m_executable = cinfo.foundExecutableName; if (m_executable.isEmpty()) { Core::AsynchronousMessageBox::warning( tr("Error Loading Symbols"), tr("No executable to load symbols from specified core.")); notifyEngineSetupFailed(); return; } } } if (isCore) { startGdb(); } else { Core::AsynchronousMessageBox::warning( tr("Error Loading Core File"), tr("The specified file does not appear to be a core file.")); notifyEngineSetupFailed(); } }