CDB: Bug fixing

- Turn off initial breakpoint when attaching (terminal) and
  additionally ignore it before the first startup complete
- Refuse to step  the artifical thread created when
  interrupting
- If possible, switch to thread 0 when interupting (do not
  use artificial thread)
- Ignore non-fatal exceptions in dumper calls (stray Startup-
  complete-traps)
- Use right thread for dumper call loading
- Rename windows exception code enumeration
- Turn off modification off watch-data children by setType,
  show empty lists correctly.
- Verbose warnings about inserting invalid watch data.
This commit is contained in:
Friedemann Kleint
2009-10-13 14:16:50 +02:00
parent 744febe01a
commit 14058c07ec
14 changed files with 180 additions and 73 deletions

View File

@@ -1406,10 +1406,14 @@ void DebuggerManager::modulesDockToggled(bool on)
void DebuggerManager::showDebuggerOutput(int channel, const QString &msg)
{
if (d->m_outputWindow)
if (d->m_outputWindow) {
emit emitShowOutput(channel, msg);
else
if (channel == LogError)
ensureLogVisible();
} else {
qDebug() << "OUTPUT: " << channel << msg;
}
}
void DebuggerManager::showDebuggerInput(int channel, const QString &msg)
@@ -1761,6 +1765,13 @@ bool DebuggerManager::checkDebugConfiguration(int toolChain,
return success;
}
void DebuggerManager::ensureLogVisible()
{
QAction *action = d->m_outputDock->toggleViewAction();
if (!action->isChecked())
action->trigger();
}
QDebug operator<<(QDebug d, DebuggerState state)
{
return d << stateName(state) << '(' << int(state) << ')';