microsoft/vscode-edge-debug2

msDebuggerPropertyId is not optional parameter

bgoddar opened this issue · 1 comments

https://github.com/Microsoft/vscode-edge-debug2/blob/6f32d111c4c9f2529393d6fabe3fbf94e804551e/src/edgeDebugAdapter.ts#L419

In the current extension, msDebuggerPropertyId is not an optional parameter for remoteObjects. Therefore, if there are cases where it is not returned with a remoteObject, VSCode will throw an error and not be able to update the remoteObjectValue

Repro steps:

  1. Install VSCode on clean RS4 build
  2. Launch against any project/site
  3. In the console, type in any primitive input: such as "hello world"
    Expected: console displays "hello world"
    Actual: error with this stack:
    ******** Unhandled error in debug adapter - Unhandled promise rejection: Error: Cannot find msDebuggerPropertyId from returned Variable data.
    at Object.errP (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\utils.js:209:13)
    at EdgeDebugAdapter.createPrimitiveVariable (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\out\src\edgeDebugAdapter.js:327:52)
    at EdgeDebugAdapter. (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:2275:33)
    at Generator.next ()
    at c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:10:71
    at Promise ()
    at __awaiter (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:6:12)
    at EdgeDebugAdapter.remoteObjectToVariable (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:2265:16)

Log:
To client: {"seq":0,"type":"response","request_seq":8,"command":"evaluate","success":false}
To client: {"seq":0,"type":"event","event":"output","body":{"category":"telemetry","output":"ClientRequest/evaluate","data":{"Versions.DebugAdapterCore":"6.1.0","Versions.DebugAdapter":"1.0.2","Versions.Target.UserAgent":"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134","Versions.Target.Version":"17.17134","successful":"true","timeTakenInMilliseconds":"74.8043","requestType":"request"}}}
To client: {"seq":0,"type":"event","event":"output","body":{"category":"telemetry","output":"error","data":{"Versions.DebugAdapterCore":"6.1.0","Versions.DebugAdapter":"1.0.2","Versions.Target.UserAgent":"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134","Versions.Target.Version":"17.17134","successful":"false","exceptionType":"unhandledRejection","exceptionMessage":"Cannot find msDebuggerPropertyId from returned Variable data.","exceptionName":"Error","exceptionStack":"Error: Cannot find msDebuggerPropertyId from returned Variable data.\n at Object.errP (utils.js:209:13)\n at EdgeDebugAdapter.createPrimitiveVariable (edgeDebugAdapter.js:327:52)\n at EdgeDebugAdapter. (chromeDebugAdapter.js:2275:33)\n at Generator.next ()\n at chromeDebugAdapter.js:10:71\n at Promise ()\n at __awaiter (chromeDebugAdapter.js:6:12)\n at EdgeDebugAdapter.remoteObjectToVariable (chromeDebugAdapter.js:2265:16)\n at EdgeDebugAdapter. (chromeDebugAdapter.js:2092:41)\n at Generator.next ()"}}}
[Error] ******** Unhandled error in debug adapter - Unhandled promise rejection: Error: Cannot find msDebuggerPropertyId from returned Variable data.
at Object.errP (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\utils.js:209:13)
at EdgeDebugAdapter.createPrimitiveVariable (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\out\src\edgeDebugAdapter.js:327:52)
at EdgeDebugAdapter. (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:2275:33)
at Generator.next ()
at c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:10:71
at Promise ()
at __awaiter (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:6:12)
at EdgeDebugAdapter.remoteObjectToVariable (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:2265:16)
at EdgeDebugAdapter. (c:\Users\brgoddar.vscode\extensions\msjsdiag.debugger-for-edge-1.0.2\node_modules\vscode-chrome-debug-core\out\src\chrome\chromeDebugAdapter.js:2092:41)
at Generator.next ()

Addressed with #93