diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-10-20 10:45:59 +0200 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2011-10-20 10:51:09 +0200 |
commit | 6da15db62c796de1cd1b01eb8976cdffeddeedf8 (patch) | |
tree | 82c1961c7a509e341528ac00fc778ab0fc001677 /src/plugins/debugger/breakhandler.cpp | |
parent | 734829151490d6ceea3d3911fec29d4cbd5a6ea5 (diff) | |
download | qt-creator-6da15db62c796de1cd1b01eb8976cdffeddeedf8.tar.gz |
Debugger: Prevent adding invalid breakpoints.
Check on session restore and add.
In particular, suppress watchpoints at 0x0,
which hang gdb.
Change-Id: I648f53a709fabdebe641e478f367f1354a315ab1
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/plugins/debugger/breakhandler.cpp')
-rw-r--r-- | src/plugins/debugger/breakhandler.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 0bc771de6b..e80b898aae 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -396,7 +396,11 @@ void BreakHandler::loadBreakpoints() v = map.value(_("message")); if (v.isValid()) data.message = v.toString(); - appendBreakpoint(data); + if (data.isValid()) { + appendBreakpoint(data); + } else { + qWarning("Not restoring invalid breakpoint: %s", qPrintable(data.toString())); + } } //qDebug() << "LOADED BREAKPOINTS" << this << list.size(); } @@ -1036,7 +1040,11 @@ static int currentId = 0; void BreakHandler::appendBreakpoint(const BreakpointParameters &data) { - QTC_ASSERT(data.type != UnknownType, return); + if (!data.isValid()) { + qWarning("Not adding invalid breakpoint: %s", qPrintable(data.toString())); + return; + } + BreakpointModelId id(++currentId); const int row = m_storage.size(); beginInsertRows(QModelIndex(), row, row); |