-
Notifications
You must be signed in to change notification settings - Fork 37.2k
Description
test item for microsoft/vscode-node-debug#11:
Inspecting large data structures results in slowness (unresponsiveness) issues in node.js because the v8 debugger protocol does not provide a way to access large data structures in chunks. Always the full thing travels over the wire. A particular nasty issue is that local variables are included in the stack frame object "for free" even if nobody requested them. A consequence is that stepping through code with large arrays or buffers in local variables or parameters results in slowness and timeouts.
In node 0.12.x VS Code started to dynamically inject code into the node runtime to improve the v8 debugging protocol but this stopped working after the io.js/node.js reunion for 2.x and 3.x versions. After fix nodejs/node#4328 code injection started to work again in node.js 4.3.1 in the LTS stream. For the 5.x stable stream the code injection has to use a slightly different approach that started to work in node 5.6.
Verify for node.js >= 4.3.1 and node.js >= 5.6 that:
- you can inspect large (~ 100000) arrays and buffers without node.js becoming unresponsive
Please note: this feature is not about objects with many properties. Objects with many properties will be addressed in microsoft/vscode-node-debug#18.