forked from qt-creator/qt-creator
Debugger: Lift restriction one-shot breakpoints deletion
This was/is a workaround to not lose the extra information carefully
crafted one-shot-breakpoints might carry (e.g. conditions). However,
it gets into the way when simple one-shot breakpoints are used
automatically ("Jump to line", or native-mixed debugging),
so actually deleting the bp in the ui if it's gone on the debugger
side seems the lesser evil nowadays.
Change-Id: If00dc4e8f27881236c05b17109b57d7c53d424ab
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
@@ -802,6 +802,7 @@ bool Breakpoint::isOneShot() const { return parameters().oneShot; }
|
|||||||
|
|
||||||
void Breakpoint::removeAlienBreakpoint()
|
void Breakpoint::removeAlienBreakpoint()
|
||||||
{
|
{
|
||||||
|
b->m_state = BreakpointRemoveProceeding;
|
||||||
b->deleteThis();
|
b->deleteThis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -598,8 +598,9 @@ void GdbEngine::handleResponse(const QByteArray &buff)
|
|||||||
// This also triggers when a temporary breakpoint is hit.
|
// This also triggers when a temporary breakpoint is hit.
|
||||||
// We do not really want that, as this loses all information.
|
// We do not really want that, as this loses all information.
|
||||||
// FIXME: Use a special marker for this case?
|
// FIXME: Use a special marker for this case?
|
||||||
if (!bp.isOneShot())
|
// if (!bp.isOneShot()) ... is not sufficient.
|
||||||
bp.removeAlienBreakpoint();
|
// It keeps temporary "Jump" breakpoints alive.
|
||||||
|
bp.removeAlienBreakpoint();
|
||||||
}
|
}
|
||||||
} else if (asyncClass == "cmd-param-changed") {
|
} else if (asyncClass == "cmd-param-changed") {
|
||||||
// New since 2012-08-09
|
// New since 2012-08-09
|
||||||
|
|||||||
Reference in New Issue
Block a user