This repository was archived by the owner on Dec 15, 2022. It is now read-only.
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
Gap Analysis: chrome-debug vs. node-debug #1
Closed
Description
Goal: Find out what is needed to use the 'Debugger for Chrome' extension as a replacement for 'Node Debug'.
Installation of node 7.0:
npm install -g node-nightly
node-nightly --version
Install experimental CDP extension:
git clone https://github.com/Microsoft/vscode-node-cdp-debug
cd vscode-node-cdp-debug
npm install
code .
Run node 7.0 in 'inspect' mode:
node-nightly --inspect index.js
Findings:
- Startup:
- no "launch" support - Launch the Node process with correct args #2
- no "restart" on attach - Reattach on process restart #3
- no extension host support - Attach to extension host #4
- early breakpoints on startup don't work because debugger does not break on entry by default - Implement --break-on-entry #5
- Support a UI picker of all available targets - Support a UI picker of all available targets vscode-chrome-debug-core#19
- Support runInTerminalRequest - Use runInTerminalRequest #6
- Variables:
- properties with getters not supported - Show getter property value vscode-chrome-debug-core#77
- array sorting wrong (alphabetically instead of numerical) - array in debugger didn't display in right order vscode-chrome-debug-core#62
- large arrays slow: no paging ('chunks')
(needs adoption of VS Code variables paging) - Implement expanding large arrays by sub range vscode-chrome-debug-core#4 - setting variable values - Add support for editing variables vscode-chrome-debug-core#58
- ES6:
- no Map support - Support ES6 data structure visualization vscode-chrome-debug-core#31
- no Set support - Support ES6 data structure visualization vscode-chrome-debug-core#31
- no generator support - Show generator state vscode-chrome-debug-core#32
- Show Promise state - Show Promise state vscode-chrome-debug-core#33
- Source Maps:
- no inlined sources - Support inlined sources vscode-chrome-debug-core#85
- no remote source maps
- no local/remote source mapping for remote debugging - Support remote debugging using the same properties as vscode-node-debug vscode-chrome-debug-core#86
- Support "dynamically generated sourcemaps" and SystemJS - Support "dynamically generated sourcemaps" and SystemJS vscode-chrome-debug-core#36
- Smart code stepping - Smart code stepping vscode-chrome-debug-core#34
- Misc
- completionRequest (intellisense for debug console) - Implement completionRequest for console intellisense vscode-chrome-debug-core#87
- Stop using deprecated 'lines' prop on SetBreakpointsArguments from vscode-debugprotocol - Stop using deprecated 'lines' prop on SetBreakpointsArguments from vscode-debugprotocol vscode-chrome-debug-core#73
- sourceMapPathOverrides matching doesn't work when sourceRoot does not end in / - sourceMapPathOverrides matching doesn't work when sourceRoot does not end in / vscode-chrome-debug-core#78
- Minor refactoring to support some features - Minor refactoring to support some features vscode-chrome-debug-core#57
- Add reasons for breakpoint bind failure - Add reasons for breakpoint bind failure vscode-chrome-debug-core#38
- Show variable type on hover - Show variable type on hover vscode-chrome-debug-core#52
- Localization - Localization vscode-chrome-debug-core#37
- Support function breakpoints - Support function breakpoints vscode-chrome-debug-core#28
- Support callstack paging - Support callstack paging vscode-chrome-debug-core#30
- Add support for conditional breakpoints - Add support for conditional breakpoints vscode-chrome-debug-core#10
Metadata
Metadata
Assignees
Labels
No labels