diff --git a/package.json b/package.json index a0822ed2..dc3c78f8 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.12.1-pre2", + "version": "1.12.1-pre3", "preview": false, "activationEvents": [ "onDebugResolve:cortex-debug", diff --git a/src/backend/mi2/mi2.ts b/src/backend/mi2/mi2.ts index 9e63fd60..614105df 100644 --- a/src/backend/mi2/mi2.ts +++ b/src/backend/mi2/mi2.ts @@ -973,8 +973,8 @@ export class MI2 extends EventEmitter implements IBackend { } public static getThreadFrameStr(threadId: number, frameId: number): string { - const th = threadId > 0 ? `--thread ${threadId} ` : ''; - const fr = frameId >= 0 ? `--frame ${frameId}` : ''; + const th = ((threadId !== undefined) && (threadId > 0)) ? `--thread ${threadId} ` : ''; + const fr = ((frameId !== undefined) && (frameId >= 0)) ? `--frame ${frameId}` : ''; return th + fr; } diff --git a/src/gdb.ts b/src/gdb.ts index 1d0b11e6..b016efa9 100755 --- a/src/gdb.ts +++ b/src/gdb.ts @@ -1891,9 +1891,9 @@ export class GDBDebugSession extends LoggingDebugSession { const isReg = (varRef >= HandleRegions.REG_HANDLE_START && varRef < HandleRegions.REG_HANDLE_FINISH); const globOrStatic = !isReg && this.getFloatingVariable(varRef, name); if (isReg) { - const varObj = await this.miDebugger.varCreate(varRef, '$' + name, '-', '*'); - name = varObj.name; [threadId, frameId] = decodeReference(varRef); + const varObj = await this.miDebugger.varCreate(varRef, '$' + name, '-', '*', threadId, frameId); + name = varObj.name; } else if (globOrStatic) { name = globOrStatic.name; } else if (varRef >= HandleRegions.VAR_HANDLES_START) { @@ -1908,7 +1908,7 @@ export class GDBDebugSession extends LoggingDebugSession { [threadId, frameId] = decodeReference(varRef); } const res = await this.miDebugger.varAssign(name, args.value, threadId, frameId); - // TODO: Need to check for errors + // TODO: Need to check for errors? Currently handled by outer try/catch response.body = { value: res.result('value') }; @@ -2662,7 +2662,7 @@ export class GDBDebugSession extends LoggingDebugSession { if (isFloating) { varObj = await this.miDebugger.varCreate(parentVarReference, symOrExpr, gdbVarName); } else { - varObj = await this.miDebugger.varCreate(parentVarReference, symOrExpr, gdbVarName, '*', threadId, frameId); + varObj = await this.miDebugger.varCreate(parentVarReference, symOrExpr, gdbVarName, '@', threadId, frameId); } const varId = this.findOrCreateVariable(varObj); varObj.exp = symOrExpr;