Commit b9fb6f4b authored by hjk's avatar hjk
Browse files

maemo: refactor debugger interaction

parent b0a9d61d
...@@ -82,7 +82,7 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC ...@@ -82,7 +82,7 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC
params.executable = runConfig->remoteExecutableFilePath(); params.executable = runConfig->remoteExecutableFilePath();
params.debuggerCommand params.debuggerCommand
= MaemoGlobal::remoteCommandPrefix(runConfig->remoteExecutableFilePath()) = MaemoGlobal::remoteCommandPrefix(runConfig->remoteExecutableFilePath())
+ environment(runConfig->debuggingType(), runConfig->userEnvironmentChanges()) + environment(debuggingType, runConfig->userEnvironmentChanges())
+ QLatin1String(" /usr/bin/gdb"); + QLatin1String(" /usr/bin/gdb");
params.connParams = devConf.server; params.connParams = devConf.server;
params.localMountDir = runConfig->localDirToMountForRemoteGdb(); params.localMountDir = runConfig->localDirToMountForRemoteGdb();
...@@ -109,20 +109,23 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC ...@@ -109,20 +109,23 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC
DebuggerRunControl * const runControl = DebuggerRunControl * const runControl =
DebuggerPlugin::createDebugger(params, runConfig); DebuggerPlugin::createDebugger(params, runConfig);
bool useGdb = params.startMode == StartRemoteGdb
&& debuggingType != MaemoRunConfiguration::DebugQmlOnly;
MaemoDebugSupport *debugSupport = MaemoDebugSupport *debugSupport =
new MaemoDebugSupport(runConfig, runControl->engine()); new MaemoDebugSupport(runConfig, runControl->engine(), useGdb);
connect(runControl, SIGNAL(finished()), connect(runControl, SIGNAL(finished()),
debugSupport, SLOT(handleDebuggingFinished())); debugSupport, SLOT(handleDebuggingFinished()));
return runControl; return runControl;
} }
MaemoDebugSupport::MaemoDebugSupport(MaemoRunConfiguration *runConfig, MaemoDebugSupport::MaemoDebugSupport(MaemoRunConfiguration *runConfig,
DebuggerEngine *engine) DebuggerEngine *engine, bool useGdb)
: QObject(engine), m_engine(engine), m_runConfig(runConfig), : QObject(engine), m_engine(engine), m_runConfig(runConfig),
m_runner(new MaemoSshRunner(this, runConfig, true)), m_runner(new MaemoSshRunner(this, runConfig, true)),
m_debuggingType(runConfig->debuggingType()), m_debuggingType(runConfig->debuggingType()),
m_dumperLib(runConfig->dumperLib()), m_dumperLib(runConfig->dumperLib()),
m_state(Inactive), m_gdbServerPort(-1), m_qmlPort(-1) m_state(Inactive), m_gdbServerPort(-1), m_qmlPort(-1),
m_useGdb(useGdb)
{ {
connect(m_engine, SIGNAL(requestRemoteSetup()), this, connect(m_engine, SIGNAL(requestRemoteSetup()), this,
SLOT(handleAdapterSetupRequested())); SLOT(handleAdapterSetupRequested()));
...@@ -366,8 +369,7 @@ QString MaemoDebugSupport::uploadDir(const MaemoDeviceConfig &devConf) ...@@ -366,8 +369,7 @@ QString MaemoDebugSupport::uploadDir(const MaemoDeviceConfig &devConf)
bool MaemoDebugSupport::useGdb() const bool MaemoDebugSupport::useGdb() const
{ {
return m_engine->startParameters().startMode == StartRemoteGdb return m_useGdb;
&& m_debuggingType != MaemoRunConfiguration::DebugQmlOnly;
} }
bool MaemoDebugSupport::setPort(int &port) bool MaemoDebugSupport::setPort(int &port)
......
...@@ -65,7 +65,7 @@ public: ...@@ -65,7 +65,7 @@ public:
static ProjectExplorer::RunControl *createDebugRunControl(MaemoRunConfiguration *runConfig); static ProjectExplorer::RunControl *createDebugRunControl(MaemoRunConfiguration *runConfig);
MaemoDebugSupport(MaemoRunConfiguration *runConfig, MaemoDebugSupport(MaemoRunConfiguration *runConfig,
Debugger::DebuggerEngine *engine); Debugger::DebuggerEngine *engine, bool useGdb);
~MaemoDebugSupport(); ~MaemoDebugSupport();
static QString uploadDir(const MaemoDeviceConfig &devConf); static QString uploadDir(const MaemoDeviceConfig &devConf);
...@@ -111,6 +111,7 @@ private: ...@@ -111,6 +111,7 @@ private:
State m_state; State m_state;
int m_gdbServerPort; int m_gdbServerPort;
int m_qmlPort; int m_qmlPort;
bool m_useGdb;
}; };
} // namespace Internal } // namespace Internal
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment