From 9771cdbf9de1c55f953ca75a514621d3becd65cf Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 16 Mar 2011 11:55:24 +0100 Subject: [PATCH] Debugger[CDB]: Fix warning about invalid breakpoint on 'step out'. Do not display internal breakpoint id=10000. --- src/plugins/debugger/cdb/cdbengine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index fd71b5d3852..ffa829436c2 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -1779,13 +1779,17 @@ unsigned CdbEngine::examineStopReason(const GdbMi &stopReason, const int threadId = stopReason.findChild("threadId").data().toInt(); if (reason == "breakpoint") { // Note: Internal breakpoints (run to line) are reported with id=0. + // Step out creates temporary breakpoints with id 10000. BreakpointId id = 0; int number = 0; const GdbMi breakpointIdG = stopReason.findChild("breakpointId"); if (breakpointIdG.isValid()) { id = breakpointIdG.data().toULongLong(); - if (id) + if (id && breakHandler()->engineBreakpointIds(this).contains(id)) { number = breakHandler()->response(id).number; + } else { + id = 0; + } } if (id && breakHandler()->type(id) == Watchpoint) { *message = msgWatchpointTriggered(id, number, breakHandler()->address(id), QString::number(threadId));