Skip to content

Commit 86b6678

Browse files
oltolmWebFreak001
authored andcommitted
fix variables for lldb-mi
1 parent 6942703 commit 86b6678

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

src/backend/mi2/mi2.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,9 @@ export class MI2 extends EventEmitter implements IBackend {
675675
const result = await this.sendCommand(command);
676676
const threads = result.result("threads");
677677
const ret: Thread[] = [];
678+
if (!Array.isArray(threads)) { // workaround for lldb-mi bug: `'^done,threads="[]"'`
679+
return ret;
680+
}
678681
return threads.map(element => {
679682
const ret: Thread = {
680683
id: parseInt(MINode.valueOf(element, "id")),

src/mibase.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ export class MI2DebugSession extends DebugSession {
482482
const varId = this.variableHandlesReverse[varObjName];
483483
varObj = this.variableHandles.get(varId) as any;
484484
} catch (err) {
485-
if (err instanceof MIError && err.message == "Variable object not found") {
485+
if (err instanceof MIError && (err.message == "Variable object not found" || err.message.endsWith("does not exist"))) {
486486
varObj = await this.miDebugger.varCreate(id.threadId, id.level, variable.name, varObjName);
487487
const varId = findOrCreateVariable(varObj);
488488
varObj.exp = variable.name;

0 commit comments

Comments
 (0)