debugger: fix breakpoint cleanup to allow subsequent runs

Reviewed-by: Friedemann Kleint
This commit is contained in:
hjk
2010-10-05 16:05:47 +02:00
parent c848f7fdea
commit d0848ee29a
3 changed files with 23 additions and 1 deletions

View File

@@ -742,7 +742,8 @@ void BreakHandler::storeToTemplate(BreakHandler *other)
{
QTC_ASSERT(m_bp,/**/);
foreach (BreakpointData *data, *m_bp) {
data->m_handler = other;
data->m_handler = other;
data->clear();
}
m_bp = 0;

View File

@@ -205,6 +205,26 @@ BreakpointData::~BreakpointData()
removeMarker();
}
void BreakpointData::clear()
{
removeMarker();
bpNumber.clear();
bpCondition.clear();
bpIgnoreCount = 0;
bpFileName.clear();
bpFullName.clear();
bpLineNumber = 0;
bpCorrectedLineNumber = 0;
bpThreadSpec.clear();
bpFuncName.clear();
bpAddress = 0;
bpMultiple = false;
bpEnabled = true;
bpState.clear();
m_markerFileName.clear();
m_markerLineNumber = 0;
}
void BreakpointData::removeMarker()
{
BreakpointMarker *m = marker;

View File

@@ -57,6 +57,7 @@ public:
QString toToolTip() const;
BreakHandler *handler() { return m_handler; }
void reinsertBreakpoint();
void clear(); // Delete all generated data.
bool isLocatedAt(const QString &fileName, int lineNumber,
bool useMarkerPosition) const;