forked from qt-creator/qt-creator
debugger: keep track of current gdb thread
This commit is contained in:
@@ -1410,6 +1410,7 @@ void GdbEngine::handleStop1(const GdbMi &data)
|
|||||||
const QByteArray threadId = data.findChild("thread-id").data();
|
const QByteArray threadId = data.findChild("thread-id").data();
|
||||||
const BreakpointId id = breakHandler()->findBreakpointByNumber(bpNumber);
|
const BreakpointId id = breakHandler()->findBreakpointByNumber(bpNumber);
|
||||||
showStatusMessage(msgBreakpointTriggered(id, bpNumber, _(threadId)));
|
showStatusMessage(msgBreakpointTriggered(id, bpNumber, _(threadId)));
|
||||||
|
m_currentThread = threadId;
|
||||||
} else {
|
} else {
|
||||||
QString reasontr = msgStopped(_(reason));
|
QString reasontr = msgStopped(_(reason));
|
||||||
if (reason == "signal-received"
|
if (reason == "signal-received"
|
||||||
@@ -2984,8 +2985,12 @@ void GdbEngine::activateFrame(int frameIndex)
|
|||||||
// Otherwise the lines below would need to get triggered
|
// Otherwise the lines below would need to get triggered
|
||||||
// after a response to this -stack-select-frame here.
|
// after a response to this -stack-select-frame here.
|
||||||
handler->setCurrentIndex(frameIndex);
|
handler->setCurrentIndex(frameIndex);
|
||||||
postCommand("-stack-select-frame " + QByteArray::number(frameIndex),
|
QByteArray cmd = "-stack-select-frame";
|
||||||
Discardable, CB(handleStackSelectFrame));
|
//if (!m_currentThread.isEmpty())
|
||||||
|
// cmd += " --thread " + m_currentThread;
|
||||||
|
cmd += ' ';
|
||||||
|
cmd += QByteArray::number(frameIndex);
|
||||||
|
postCommand(cmd, Discardable, CB(handleStackSelectFrame));
|
||||||
gotoLocation(stackHandler()->currentFrame());
|
gotoLocation(stackHandler()->currentFrame());
|
||||||
updateLocals();
|
updateLocals();
|
||||||
reloadRegisters();
|
reloadRegisters();
|
||||||
|
|||||||
@@ -548,6 +548,7 @@ private: ////////// View & Data Stuff //////////
|
|||||||
|
|
||||||
// HACK:
|
// HACK:
|
||||||
StackFrame m_targetFrame;
|
StackFrame m_targetFrame;
|
||||||
|
QByteArray m_currentThread;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user