Similar to our efforts on the Script Editor last year, we are putting in a lot of focus behind the scenes on the Studio Luau debugger. These efforts will manifest as nice upgrades over the course of this year - capabilities and stability will improve, UI will get nicer and more intuitive, and you will start being able to debug against Team Test servers and eventually get more information from live experiences.
Today, we’re releasing the first batch of changes to the Debugger. These are mostly upgrades to the Watch window, enabling greater insight into program state at breakpoints.
Variable Previews
We’ve heard from many of you that it was difficult to see table / metatable contents and length in the “Watch” widget.
To provide insight into variables at a glance, we improved Watch window readability by adding preview of the table/array/instance fields in the value column as follows:
Table - show fields in the Lua table format, order fields alphabetically
Array - show items in the Lua table array format, ordered by index
Instance - show instance name followed by fields in the Lua table format, order fields alphabetically
To help you uniquely identify tables, table addresses will now be displayed in the value column in the Watch widget, next to the table preview. This will be especially handy for nested and recursive tables.
Currently, there is no way to inspect children of the instance that appear in the Watch widgets. To fix this, we added the “Children” pseudo item to instance in the Watch widget. This instance will show items returned by the getChildren() method.
This is a really good job and very good for the scripters and such and love to see roBlox getting more organized with the scripting. Even though I am not a scripter this can help a lot with finding problems and such!
This definitely helps give more specific info, and a wider understanding of what’s going on. Also, is it just me or is the output only giving table addresses and not expandable tables?
Make sure you open up your output settings, and uncheck the box marked “Log Mode” if you want expandable tables. Although disabling this lowers the performance of the output, so usually if I’m not needing to view tables, I leave it on.
As someone who doesn’t use the debugger, (and often relies on just spamming print("does this work??") The changes that have been done to the debugging tools may actually get me to use them - They’re more intuitive and useful (because who wants to stare at a table address to see if their table is working).
Cool update. I kinda wish that it kept “Table” and then, expanded said table to a pretty json when you click on it. I’m not a fan of looking at tables in a singular line. I don’t really think that’s all that helpful either when programming. I guess it’s cool for small stuff but, unfortunately, I deal with large stuff. Probably a minority in that aspect.
Curious to learn where you want to view them outside of the debugger?
The table memory address can be shown in output window by enabling the checkbox below. Currently, other info above can only be viewed in debugger.