daveleroy / SublimeDebugger

Graphical Debugger for Sublime Text for debuggers that support the debug adapter protocol
MIT License
371 stars 44 forks source link

Not all variables are shown when a variable contains a large dataset #165

Closed martijndeb closed 2 years ago

martijndeb commented 2 years ago

I was debugging our mail application, when the debugger wasn't showing all variables. I'm using the PHP debugger, and when using the Debugger -> Show protocol panel all variables are present.

What's happening? In local scope the following variables are showing: $a, $b, $c, $d, $e.

When I add a 10mb string to $b, then $b, $c, $d and $e are not showing in the UI panel under Local. The Show protocol panel does log them when the breakpoint is reached.

I'd rather have the variables show up as empty or "too big" or something similar, than ditching everything :-).

daveleroy commented 2 years ago

What is the last variables response in the protocol panel? There is probably something in one of the variables which is screwing up the rendering.

martijndeb commented 2 years ago

Yeah I'm pretty sure it's the 10mb base64 encoded string (It's an xlsx attachment). Because when I remove attachment features from my codebase it works fine. I'm currently sick at home, but I can most likely generate a reproduction script.

Defining $a = 1; $b = ""; $c = 2; $d = 3; should replicate it.

daveleroy commented 2 years ago

This might be fixed in 0.8.0 if not reopen and attach the protocol log from Debugger: Show Protocol