debug icon indicating copy to clipboard operation
debug copied to clipboard

🐛 Support displaying variables with non-unicode data

Open marianosimone opened this issue 3 years ago • 0 comments

Description

This fixes #756

DAP is JSON-based, so the state of all variables is dumped into a string that needs to be unicode. When a variable contains binary data that is NOT unicode, this breaks with: source sequence is illegal/malformed utf-8.

This patch makes sure that we can display at least part, and show the user that the data they are seeing is not exactly the one that is in memory.

Testing

I tried this in VSCode (which uses DAP), and saw:

  1. Before this patch: the debugging session crashes
  2. After this patch:
image

As a side note, vscode-ruby-debug doesn't even try to show the variable content and just shows [Invalid encoding], which, IMO, is a worse UX.

marianosimone avatar Sep 21 '22 18:09 marianosimone