debug
debug copied to clipboard
🐛 Support displaying variables with non-unicode data
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:
- Before this patch: the debugging session crashes
- After this patch:
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.