Symbian/Linux: Fix debugger

- Switch correctly on GnuPoc-toolchains
- Do not lock up on Gdb start.
This commit is contained in:
Friedemann Kleint
2010-02-25 17:52:34 +01:00
parent f87f421011
commit d4cee56e99
4 changed files with 14 additions and 0 deletions

View File

@@ -1645,6 +1645,8 @@ bool GdbEngine::checkConfiguration(int toolChain, QString *errorMessage, QString
case ProjectExplorer::ToolChain::GCCE:
case ProjectExplorer::ToolChain::RVCT_ARMV5:
case ProjectExplorer::ToolChain::RVCT_ARMV6:
case ProjectExplorer::ToolChain::RVCT_ARMV5_GNUPOC:
case ProjectExplorer::ToolChain::GCCE_GNUPOC:
if (!m_trkOptions->check(errorMessage)) {
if (settingsPage)
*settingsPage = TrkOptionsPage::settingsId();
@@ -1663,6 +1665,8 @@ AbstractGdbAdapter *GdbEngine::createAdapter(const DebuggerStartParametersPtr &s
case ProjectExplorer::ToolChain::GCCE:
case ProjectExplorer::ToolChain::RVCT_ARMV5:
case ProjectExplorer::ToolChain::RVCT_ARMV6:
case ProjectExplorer::ToolChain::RVCT_ARMV5_GNUPOC:
case ProjectExplorer::ToolChain::GCCE_GNUPOC:
return new TrkGdbAdapter(this, m_trkOptions);
default:
break;

View File

@@ -1671,6 +1671,13 @@ void TrkGdbAdapter::handleTrkVersionsStartGdb(const TrkResult &result)
<< '.' << int(result.data.at(4));
}
logMessage(logMsg);
// As we are called from the TrkDevice handler, do not lock up when shutting
// down the device in case of gdb launch errors.
QTimer::singleShot(0, this, SLOT(slotStartGdb()));
}
void TrkGdbAdapter::slotStartGdb()
{
QStringList gdbArgs;
gdbArgs.append(QLatin1String("--nx")); // Do not read .gdbinit file
if (!m_engine->startGdb(gdbArgs, m_options->gdb, TrkOptionsPage::settingsId())) {

View File

@@ -213,6 +213,7 @@ private:
void handleStop(const TrkResult &result);
void handleSupportMask(const TrkResult &result);
void handleTrkVersionsStartGdb(const TrkResult &result);
Q_SLOT void slotStartGdb();
void handleDisconnect(const TrkResult &result);
void handleDeleteProcess(const TrkResult &result);
void handleDeleteProcess2(const TrkResult &result);