From e2ef47bcffbab2cabed2ff80f317dddfebfd59a2 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Thu, 16 Apr 2009 13:54:34 +0200 Subject: [PATCH] debugger: prevent endless loop when contructor breakpoints are located in inaccessible files --- src/plugins/debugger/gdbengine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 709324378d6..64d0314a30b 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -2214,7 +2214,7 @@ void GdbEngine::extractDataFromInfoBreak(const QString &output, BreakpointData * // 2.1 y 0x0040168e in MainWindow::MainWindow(QWidget*) at mainwindow.cpp:7 // 2.2 y 0x00401792 in MainWindow::MainWindow(QWidget*) at mainwindow.cpp:7 - + // tested in ../../../tests/auto/debugger/ QRegExp re("MULTIPLE.*(0x[0-9a-f]+) in (.*)\\s+at (.*):([\\d]+)([^\\d]|$)"); re.setMinimal(true); @@ -2223,6 +2223,10 @@ void GdbEngine::extractDataFromInfoBreak(const QString &output, BreakpointData * data->bpFuncName = re.cap(2).trimmed(); data->bpLineNumber = re.cap(4); QString full = fullName(re.cap(3)); + if (full.isEmpty()) { + qDebug() << "NO FULL NAME KNOWN FOR" << re.cap(3); + full = re.cap(3); // FIXME: wrong, but prevents recursion + } data->markerLineNumber = data->bpLineNumber.toInt(); data->markerFileName = full; data->bpFileName = full; -- GitLab