make tooltip use while debugging configurable

This commit is contained in:
hjk
2008-12-08 19:26:00 +01:00
parent 502bc0df63
commit d3a97147dd
4 changed files with 38 additions and 23 deletions

View File

@@ -278,25 +278,8 @@ void GdbEngine::init()
connect(&m_gdbProc, SIGNAL(finished(int, QProcess::ExitStatus)), q,
SLOT(exitDebugger()));
// Custom dumpers
//m_dumperServerConnection = 0;
//m_dumperServer = new DumperServer(this);
//QString name = "gdb-" +
// QDateTime::currentDateTime().toString("yyyy_MM_dd-hh_mm_ss_zzz");
//m_dumperServer->listen(name);
//connect(m_dumperServer, SIGNAL(newConnection()),
// this, SLOT(acceptConnection()));
//if (!m_dumperServer->isListening()) {
// QMessageBox::critical(q->mainWindow(), tr("Dumper Server Setup Failed"),
// tr("Unable to create server listening for data: %1.\n"
// "Server name: %2").arg(m_dumperServer->errorString(), name),
// QMessageBox::Retry | QMessageBox::Cancel);
// }
connect(qq->debugDumpersAction(), SIGNAL(toggled(bool)),
this, SLOT(setDebugDumpers(bool)));
connect(qq->useCustomDumpersAction(), SIGNAL(toggled(bool)),
this, SLOT(setCustomDumpersWanted(bool)));
@@ -442,8 +425,7 @@ void GdbEngine::handleResponse()
break;
}
if (token == -1 && *from != '&' && *from != '~' && *from != '*'
&& *from != '=') {
if (token == -1 && *from != '&' && *from != '~' && *from != '*') {
// FIXME: On Linux the application's std::out is merged in here.
// High risk of falsely interpreting this as MI output.
// We assume that we _always_ use tokens, so not finding a token
@@ -452,7 +434,7 @@ void GdbEngine::handleResponse()
while (from != to && *from != '\n')
s += *from++;
//qDebug() << "UNREQUESTED DATA " << s << " TAKEN AS APPLICATION OUTPUT";
s += '\n';
//s += '\n';
m_inbuffer = QByteArray(from, to - from);
emit applicationOutputAvailable("app-stdout: ", s);
@@ -3660,10 +3642,20 @@ void GdbEngine::setLocals(const QList<GdbMi> &locals)
QHash<QString, int> seen;
foreach (const GdbMi &item, locals) {
// Local variables of inlined code are reported as
// 26^done,locals={varobj={exp="this",value="",name="var4",exp="this",
// numchild="1",type="const QtSharedPointer::Basic<CPlusPlus::..."
// We do not want these at all. Current hypotheses is that those
// "spurious" locals have _two_ "exp" field. Try to filter them:
#ifdef Q_OS_MAC
QString name = item.findChild("exp").data();
int numExps = 0;
foreach (const GdbMi &child, item.children())
numExps += int(child.name() == "exp");
if (numExps > 1)
continue;
QString name = item.findChild("exp").data();
#else
QString name = item.findChild("name").data();
QString name = item.findChild("name").data();
#endif
int n = seen.value(name);
if (n) {