Commit 6089bc1b authored by hjk's avatar hjk

debugger: rename EngineStart to EngineSetup

parent 3fcafefa
......@@ -376,7 +376,7 @@ void CdbEngine::startupChecks()
void CdbEngine::setupEngine()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
const DebuggerStartParameters &sp = startParameters();
if (debugCDBExecution)
qDebug() << "startDebugger";
......@@ -385,14 +385,14 @@ void CdbEngine::setupEngine()
m_d->checkVersion();
if (m_d->m_hDebuggeeProcess) {
warning(QLatin1String("Internal error: Attempt to start debugger while another process is being debugged."));
notifyEngineStartFailed();
notifyEngineSetupFailed();
return;
}
switch (sp.startMode) {
case AttachCore:
case AttachToRemote:
warning(QLatin1String("Internal error: Mode not supported."));
notifyEngineStartFailed();
notifyEngineSetupFailed();
break;
default:
break;
......@@ -421,7 +421,7 @@ void CdbEngine::setupEngine()
}
}
m_d->m_dumper->reset(dumperLibName, dumperEnabled);
notifyEngineStartOk();
notifyEngineSetupOk();
}
void CdbEngine::setupInferior()
......
......@@ -79,9 +79,9 @@ enum DebuggerState
{
DebuggerNotReady, // Debugger not started
EngineStarting, // Engine starts
EngineStartFailed,
EngineStarted,
EngineSettingUp, // Engine starts
EngineSetupFailed,
EngineSetupOk,
InferiorUnrunnable, // Used in the core dump adapter
InferiorSettingUp,
......
......@@ -143,9 +143,9 @@ const char *DebuggerEngine::stateName(int s)
# define SN(x) case x: return #x;
switch (s) {
SN(DebuggerNotReady)
SN(EngineStarting)
SN(EngineStarted)
SN(EngineStartFailed)
SN(EngineSettingUp)
SN(EngineSetupOk)
SN(EngineSetupFailed)
SN(InferiorSettingUp)
SN(InferiorSetupFailed)
SN(InferiorSetupOk)
......@@ -228,6 +228,7 @@ public slots:
void doSetupInferior();
void doRunEngine();
void doShutdown();
void doInterruptInferior();
public:
DebuggerEngine *m_engine; // Not owned.
......@@ -372,7 +373,7 @@ void DebuggerEngine::handleCommand(int role, const QVariant &value)
break;
case RequestExecInterruptRole:
interruptInferior();
d->doInterruptInferior();
break;
case RequestExecResetRole:
......@@ -613,12 +614,12 @@ void DebuggerEngine::showMessage(const QString &msg, int channel, int timeout) c
void DebuggerEngine::startDebugger(DebuggerRunControl *runControl)
{
QTC_ASSERT(runControl, notifyEngineStartFailed(); return);
QTC_ASSERT(!d->m_runControl, notifyEngineStartFailed(); return);
QTC_ASSERT(runControl, notifyEngineSetupFailed(); return);
QTC_ASSERT(!d->m_runControl, notifyEngineSetupFailed(); return);
DebuggerEngine *sessionTemplate = plugin()->sessionTemplate();
QTC_ASSERT(sessionTemplate, notifyEngineStartFailed(); return);
QTC_ASSERT(sessionTemplate != this, notifyEngineStartFailed(); return);
QTC_ASSERT(sessionTemplate, notifyEngineSetupFailed(); return);
QTC_ASSERT(sessionTemplate != this, notifyEngineSetupFailed(); return);
breakHandler()->initializeFromTemplate(sessionTemplate->breakHandler());
watchHandler()->initializeFromTemplate(sessionTemplate->watchHandler());
......@@ -640,7 +641,7 @@ void DebuggerEngine::startDebugger(DebuggerRunControl *runControl)
theDebuggerAction(OperateByInstruction)
->setEnabled(engineCapabilities & DisassemblerCapability);
setState(EngineStarting);
setState(EngineSettingUp);
setupEngine();
}
......@@ -911,13 +912,13 @@ static bool isAllowedTransition(int from, int to)
return to == DebuggerNotReady;
case DebuggerNotReady:
return to == EngineStarting || to == DebuggerNotReady;
return to == EngineSettingUp || to == DebuggerNotReady;
case EngineStarting:
return to == EngineStarted || to == EngineStartFailed;
case EngineStartFailed:
case EngineSettingUp:
return to == EngineSetupOk || to == EngineSetupFailed;
case EngineSetupFailed:
return to == DebuggerNotReady;
case EngineStarted:
case EngineSetupOk:
return to == InferiorSettingUp || to == EngineShuttingDown;
case InferiorSettingUp:
......@@ -963,26 +964,26 @@ static bool isAllowedTransition(int from, int to)
return false;
}
void DebuggerEngine::notifyEngineStartFailed()
void DebuggerEngine::notifyEngineSetupFailed()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
setState(EngineStartFailed);
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
setState(EngineSetupFailed);
d->m_runControl->debuggingFinished();
d->m_runControl->startFailed();
QTimer::singleShot(0, this, SLOT(doShutdown()));
}
void DebuggerEngine::notifyEngineStartOk()
void DebuggerEngine::notifyEngineSetupOk()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
setState(EngineStarted);
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
setState(EngineSetupOk);
d->m_runControl->startSuccessful();
QTimer::singleShot(0, d, SLOT(doSetupInferior()));
}
void DebuggerEnginePrivate::doSetupInferior()
{
QTC_ASSERT(m_state == EngineStarted, qDebug() << m_state);
QTC_ASSERT(m_state == EngineSetupOk, qDebug() << m_state);
m_engine->setState(InferiorSettingUp);
m_engine->setupInferior();
}
......@@ -990,7 +991,7 @@ void DebuggerEnginePrivate::doSetupInferior()
// Default implemention, can be overridden.
void DebuggerEngine::setupInferior()
{
QTC_ASSERT(state() == EngineStarted, qDebug() << state());
QTC_ASSERT(state() == EngineSetupOk, qDebug() << state());
notifyInferiorSetupOk();
}
......@@ -1020,6 +1021,24 @@ void DebuggerEngine::runEngine()
QTC_ASSERT(state() == InferiorSetupOk, qDebug() << state());
}
void DebuggerEngine::notifyInferiorRunning()
{
QTC_ASSERT(m_state == InferiorRunningRequested, qDebug() << m_state);
setState(InferiorRunning);
}
void DebuggerEngine::notifyInferiorStopped()
{
QTC_ASSERT(m_state == InferiorRunningStoppint, qDebug() << m_state);
setState(InferiorStopped);
}
void DebuggerEnginePrivate::doInterruptInferior()
{
QTC_ASSERT(m_state == InferiorRunning, qDebug() << m_state);
m_engine->interruptInferior();
}
void DebuggerEnginePrivate::doShutdown()
{
m_engine->shutdown();
......@@ -1064,9 +1083,9 @@ bool DebuggerEngine::debuggerActionsEnabled(DebuggerState state)
case InferiorStopped:
return true;
case DebuggerNotReady:
case EngineStarting:
case EngineStarted:
case EngineStartFailed:
case EngineSettingUp:
case EngineSetupOk:
case EngineSetupFailed:
case InferiorSetupOk:
case InferiorSetupFailed:
case InferiorRunningRequested_Kill:
......
......@@ -189,11 +189,6 @@ protected:
virtual void frameUp();
virtual void frameDown();
public slots:
// Convenience
void showMessage(const QString &msg, int channel = LogDebug, int timeout = -1) const;
void showStatusMessage(const QString &msg, int timeout = -1) const;
public:
DebuggerPlugin *plugin() const;
const DebuggerStartParameters &startParameters() const;
......@@ -248,7 +243,10 @@ public:
bool isReverseDebugging() const;
void handleCommand(int role, const QVariant &value);
public slots:
// Convenience
void showMessage(const QString &msg, int channel = LogDebug, int timeout = -1) const;
void showStatusMessage(const QString &msg, int timeout = -1) const;
void resetLocation();
void openFile(const QString &fileName, int lineNumber = -1);
void gotoLocation(const QString &fileName, int lineNumber, bool setMarker);
......@@ -257,12 +255,18 @@ public slots:
virtual void quitDebugger() { exitDebugger(); } // called by DebuggerRunControl
protected:
void notifyEngineStartOk();
void notifyEngineStartFailed();
void notifyEngineSetupOk();
void notifyEngineSetupFailed();
void notifyInferiorSetupOk();
void notifyInferiorSetupFailed();
void notifyInferiorRunning();
void notifyInferiorStopped();
// Called to initiate shutdown.
void notifyInferiorIll();
virtual void setupInferior();
virtual void runEngine();
......
......@@ -167,7 +167,7 @@
// DebuggerNotReady
// +
// +
// EngineStarting
// EngineSettingUp
// +
// +
// (calls *Engine->setupEngine())
......@@ -176,13 +176,13 @@
// Engine- Engine-
// StartOk} StartFailed}
// | |
// | `---> EngineStartFailed
// | `---> EngineSetupFailed
// | +
// | [calls RunControl->startFailed]
// | +
// | DebuggerNotReady
// v
// EngineStarted
// EngineSetupOk
// +
// [calls RunControl->StartSuccessful]
// +
......@@ -222,7 +222,7 @@
// DebuggerNotReady
//
// GdbEngine specific startup. All happens in EngineStarting state
// GdbEngine specific startup. All happens in EngineSettingUp state
//
// Transitions marked by '---' are done in the individual adapters.
// Transitions marked by '+-+' are done in the GdbEngine.
......@@ -234,7 +234,7 @@
// | |
// | `---> handleAdapterStartFailed()
// | +
// | EngineStartFailed
// | EngineSetupFailed
// |
// handleAdapterStarted()
// +
......@@ -242,11 +242,11 @@
// | |
// | `---> handleAdapterStartFailed()
// | +
// | EngineStartFailed
// | EngineSetupFailed
// |
// handleInferiorPrepared()
// +
// EngineStarted
// EngineSetupOk
......@@ -2120,7 +2120,7 @@ void DebuggerPluginPrivate::updateState(DebuggerEngine *engine)
|| m_state == InferiorStopping
|| m_state == InferiorStopped;
const bool starting = m_state == EngineStarting;
const bool starting = m_state == EngineSettingUp;
//const bool running = m_state == InferiorRunning;
m_startExternalAction->setEnabled(!started && !starting);
......@@ -2686,8 +2686,8 @@ bool DebuggerListener::coreAboutToClose()
switch (plugin->state()) {
case DebuggerNotReady:
return true;
case EngineStarted: // Most importantly, terminating a running
case EngineStartFailed: // debuggee can cause problems.
case EngineSetupOk: // Most importantly, terminating a running
case EngineSetupFailed: // debuggee can cause problems.
case InferiorUnrunnable:
case InferiorSetupFailed:
case InferiorStopped:
......
......@@ -56,7 +56,7 @@ AttachGdbAdapter::AttachGdbAdapter(GdbEngine *engine, QObject *parent)
void AttachGdbAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
if (!m_engine->startGdb())
......
......@@ -59,7 +59,7 @@ CoreGdbAdapter::CoreGdbAdapter(GdbEngine *engine, QObject *parent)
void CoreGdbAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
if (!m_engine->startGdb())
......
......@@ -122,9 +122,9 @@ QByteArray GdbEngine::tooltipIName(const QString &exp)
static bool stateAcceptsGdbCommands(DebuggerState state)
{
switch (state) {
case EngineStarting:
case EngineStarted:
case EngineStartFailed:
case EngineSettingUp:
case EngineSetupOk:
case EngineSetupFailed:
case InferiorUnrunnable:
case InferiorSettingUp:
case InferiorSetupFailed:
......@@ -737,7 +737,7 @@ void GdbEngine::postCommandHelper(const GdbCommand &cmd)
} else if ((cmd.flags & NeedsStop)
|| !m_commandsToRunOnTemporaryBreak.isEmpty()) {
if (state() == InferiorStopped || state() == InferiorUnrunnable
|| state() == InferiorSettingUp || state() == EngineStarted) {
|| state() == InferiorSettingUp || state() == EngineSetupOk) {
// Can be safely sent now.
flushCommand(cmd);
} else {
......@@ -1603,11 +1603,11 @@ void GdbEngine::shutdown()
case InferiorRunningRequested_Kill:
case InferiorStopping_Kill:
break;
case EngineStarting: // GDB is up, adapter is "doing something"
setState(EngineStartFailed);
case EngineSettingUp: // GDB is up, adapter is "doing something"
setState(EngineSetupFailed);
m_gdbAdapter->shutdown();
// fall-through
case EngineStartFailed: // Adapter "did something", but it did not help
case EngineSetupFailed: // Adapter "did something", but it did not help
if (gdbProc()->state() == QProcess::Running) {
m_commandsToRunOnTemporaryBreak.clear();
postCommand("-gdb-exit", GdbEngine::ExitRequest, CB(handleGdbExit));
......@@ -1623,7 +1623,7 @@ void GdbEngine::shutdown()
postCommand(m_gdbAdapter->inferiorShutdownCommand(),
NeedsStop | LosesChild, CB(handleInferiorShutdown));
break;
case EngineStarted: // We can't get here, really
case EngineSetupOk: // We can't get here, really
case InferiorSetupOk:
case InferiorSetupFailed:
case InferiorShutDown:
......@@ -1764,7 +1764,7 @@ AbstractGdbAdapter *GdbEngine::createAdapter()
void GdbEngine::setupEngine()
{
//qDebug() << "GDB START DEBUGGER";
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
QTC_ASSERT(m_debuggingHelperState == DebuggingHelperUninitialized, /**/);
QTC_ASSERT(m_gdbAdapter == 0, /**/);
......@@ -1788,7 +1788,7 @@ void GdbEngine::setupEngine()
}
m_progress->setProgressValue(20);
QTC_ASSERT(state() == EngineStarting, /**/);
QTC_ASSERT(state() == EngineSettingUp, /**/);
m_gdbAdapter->startAdapter();
}
......@@ -3055,7 +3055,7 @@ void GdbEngine::activateSnapshot2()
{
// Otherwise the stack data might be stale.
// See http://sourceware.org/bugzilla/show_bug.cgi?id=1124.
setState(EngineStarting);
setState(EngineSettingUp);
postCommand("set stack-cache off");
handleAdapterStarted();
}
......@@ -4177,7 +4177,7 @@ void GdbEngine::handleGdbFinished(int code, QProcess::ExitStatus type)
} else if (state() == EngineShuttingDown) {
showMessage(_("GOING TO SHUT DOWN ADAPTER"));
m_gdbAdapter->shutdown();
} else if (state() != EngineStartFailed) {
} else if (state() != EngineSetupFailed) {
QString msg = tr("The gdb process exited unexpectedly (%1).")
.arg((type == QProcess::CrashExit)
? tr("crashed") : tr("code %1").arg(code));
......@@ -4191,7 +4191,7 @@ void GdbEngine::handleGdbFinished(int code, QProcess::ExitStatus type)
void GdbEngine::handleAdapterStartFailed(const QString &msg, const QString &settingsIdHint)
{
setState(EngineStartFailed);
setState(EngineSetupFailed);
showMessage(_("ADAPTER START FAILED"));
if (!msg.isEmpty()) {
const QString title = tr("Adapter start failed");
......@@ -4210,7 +4210,7 @@ void GdbEngine::handleAdapterStarted()
if (m_progress)
m_progress->setProgressValue(25);
showMessage(_("ADAPTER SUCCESSFULLY STARTED"));
notifyEngineStartOk();
notifyEngineSetupOk();
}
void GdbEngine::setupInferior()
......@@ -4264,7 +4264,7 @@ void GdbEngine::runEngine()
void GdbEngine::handleInferiorSetupFailed(const QString &msg)
{
showStatusMessage(tr("Failed to start application: ") + msg);
if (state() == EngineStartFailed) {
if (state() == EngineSetupFailed) {
showMessage(_("INFERIOR START FAILED, BUT ADAPTER DIED ALREADY"));
return; // Adapter crashed meanwhile, so this notification is meaningless.
}
......@@ -4282,7 +4282,7 @@ void GdbEngine::handleAdapterCrashed(const QString &msg)
// Don't bother with state transitions - this can happen in any state and
// the end result is always the same, so it makes little sense to find a
// "path" which does not assert.
notifyEngineStartFailed();
notifyEngineSetupFailed();
// No point in being friendly here ...
gdbProc()->kill();
......
......@@ -68,7 +68,7 @@ AbstractGdbAdapter::DumperHandling LocalPlainGdbAdapter::dumperHandling() const
void LocalPlainGdbAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
QStringList gdbArgs;
......
......@@ -84,7 +84,7 @@ AbstractGdbAdapter::DumperHandling RemoteGdbServerAdapter::dumperHandling() cons
void RemoteGdbServerAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
// FIXME: make asynchroneous
......
......@@ -45,7 +45,7 @@ RemotePlainGdbAdapter::RemotePlainGdbAdapter(GdbEngine *engine, QObject *parent)
void RemotePlainGdbAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(QLatin1String("TRYING TO START ADAPTER"));
if (!startParameters().workingDirectory.isEmpty())
......
......@@ -337,7 +337,7 @@ void TcfTrkGdbAdapter::startGdb()
void TcfTrkGdbAdapter::tcftrkDeviceError(const QString &errorString)
{
logMessage(errorString);
if (state() == EngineStarting) {
if (state() == EngineSettingUp) {
m_engine->handleAdapterStartFailed(errorString, QString());
} else {
m_engine->handleAdapterCrashed(errorString);
......@@ -956,7 +956,7 @@ void TcfTrkGdbAdapter::startAdapter()
// Unixish gdbs accept only forward slashes
m_symbolFile.replace(QLatin1Char('\\'), QLatin1Char('/'));
// Start
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
logMessage(QLatin1String("### Starting TcfTrkGdbAdapter"));
......
......@@ -81,7 +81,7 @@ AbstractGdbAdapter::DumperHandling TermGdbAdapter::dumperHandling() const
void TermGdbAdapter::startAdapter()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
// Currently, adapters are not re-used
......@@ -111,7 +111,7 @@ void TermGdbAdapter::startAdapter()
void TermGdbAdapter::handleInferiorSetupOk()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
m_engine->handleAdapterStarted();
}
......@@ -172,7 +172,7 @@ void TermGdbAdapter::stubMessage(const QString &msg, bool)
void TermGdbAdapter::stubExited()
{
showMessage(_("STUB EXITED"));
if (state() != EngineStarting // From previous instance
if (state() != EngineSettingUp // From previous instance
&& state() != EngineShuttingDown && state() != DebuggerNotReady)
m_engine->handleAdapterCrashed(QString());
}
......
......@@ -1501,7 +1501,7 @@ void TrkGdbAdapter::startAdapter()
// Unixish gdbs accept only forward slashes
m_symbolFile.replace(QLatin1Char('\\'), QLatin1Char('/'));
// Start
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
logMessage(QLatin1String("### Starting TrkGdbAdapter"));
......
......@@ -140,7 +140,7 @@ void PdbEngine::exitDebugger()
void PdbEngine::setupEngine()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
m_scriptFileName = QFileInfo(startParameters().executable).absoluteFilePath();
QFile scriptFile(m_scriptFileName);
......@@ -148,7 +148,7 @@ void PdbEngine::setupEngine()
//showMessage("STARTING " +m_scriptFileName + "FAILED");
showMessage(QString::fromLatin1("Cannot open %1: %2").
arg(m_scriptFileName, scriptFile.errorString()), LogError);
notifyEngineStartFailed();
notifyEngineSetupFailed();
return;
}
m_pdbProc.disconnect(); // From any previous runs
......@@ -181,17 +181,17 @@ void PdbEngine::setupEngine()
if (!m_pdbProc.waitForStarted()) {
const QString msg = tr("Unable to start pdb '%1': %2")
.arg(m_pdb, m_pdbProc.errorString());
setState(EngineStartFailed);
setState(EngineSetupFailed);
showMessage(_("ADAPTER START FAILED"));
if (!msg.isEmpty()) {
const QString title = tr("Adapter start failed");
Core::ICore::instance()->showWarningWithOptions(title, msg);
}
shutdown();
notifyEngineStartFailed();
notifyEngineSetupFailed();
return;
}
notifyEngineStartOk();
notifyEngineSetupOk();
}
void PdbEngine::setupInferior()
......
......@@ -251,11 +251,11 @@ void QmlEngine::setupEngine()
m_proc.start(sp.executable, sp.processArgs);
if (!m_proc.waitForStarted()) {
notifyEngineStartFailed();
notifyEngineSetupFailed();
return;
}
#endif
notifyEngineStartOk();
notifyEngineSetupOk();
//m_frameRate = new CanvasFrameRate(0);
//m_frameRate->show();
}
......@@ -295,12 +295,12 @@ void QmlEngine::setupConnection()
if (!m_conn->waitForConnected()) {
qDebug() << "CONNECTION FAILED";
notifyEngineStartFailed();
notifyEngineSetupFailed();
return;
}
#endif
notifyEngineStartOk();
notifyEngineSetupOk();
qDebug() << "CONNECTION SUCCESSFUL";
setState(InferiorRunningRequested);
setState(InferiorRunning);
......@@ -1253,7 +1253,7 @@ void QmlEngine::debuggerStateChanged(int newState)
if (m_simultaneousCppAndQmlDebugMode) {
switch(newState) {
case Debugger::EngineStarting:
case Debugger::EngineSettingUp:
{
m_connectionInitialized = false;
break;
......
......@@ -231,7 +231,7 @@ void ScriptEngine::exitDebugger()
void ScriptEngine::setupEngine()
{
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
QTC_ASSERT(state() == EngineSettingUp, qDebug() << state());
showMessage(_("STARTING SCRIPT DEBUGGER"), LogMisc);
if (m_scriptEngine.isNull())
m_scriptEngine = Core::ICore::instance()->scriptManager()->scriptEngine();
......@@ -246,7 +246,7 @@ void ScriptEngine::setupEngine()
m_stopOnNextLine = false;
m_scriptEngine->abortEvaluation();
notifyEngineStartOk();
notifyEngineSetupOk();
}
void ScriptEngine::setupInferior()
......@@ -258,7 +258,7 @@ void ScriptEngine::setupInferior()
if (!scriptFile.open(QIODevice::ReadOnly|QIODevice::Text)) {
showMessage(QString::fromLatin1("Cannot open %1: %2").
arg(m_scriptFileName, scriptFile.errorString()), LogError);
notifyEngineStartFailed();
notifyEngineSetupFailed();