summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/debugger/lldb/lldbengine.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 1e0d7bbd58..63babb66be 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -479,6 +479,9 @@ void LldbEngine::refreshDisassembly(const GdbMi &data)
dl.data = line["inst"].toUtf8();
dl.function = line["func-name"].toUtf8();
dl.offset = line["offset"].toInt();
+ QByteArray comment = line["comment"].data();
+ if (!comment.isEmpty())
+ dl.data += QString::fromUtf8(" # " + comment);
result.appendLine(dl);
}
agent->setContents(result);
@@ -985,9 +988,15 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
void LldbEngine::refreshLocation(const GdbMi &reportedLocation)
{
- QString file = reportedLocation["file"].toUtf8();
- int line = reportedLocation["line"].toInt();
- gotoLocation(Location(file, line));
+ if (debuggerCore()->boolSetting(OperateByInstruction)) {
+ Location loc(reportedLocation["addr"].toAddress());
+ loc.setNeedsMarker(true);
+ gotoLocation(loc);
+ } else {
+ QString file = reportedLocation["file"].toUtf8();
+ int line = reportedLocation["line"].toInt();
+ gotoLocation(Location(file, line));
+ }
}
void LldbEngine::reloadRegisters()