The JS debugger allows you to inspect scripts and labels...
How do I access it?
Enter cheat mode and then use cheat code "jsdebug".
Script tabs
Each scripting environment has it's own tab.
The name shown on the tab is the value of scriptName followed by ":" followed by the value of me (the player the script is associated with).
All enumerable variables and constants in the global scope are listed, along with their value. Note that strings are not currently quoted in the display.
Properties of the global object are not listed. Thus, if you're looking for a variable you created and it's not listed, chances are you forgot to define it as a variable or constant.
Live code evaluation
You can type JS code in to the panel below the globals list and click the Run button to evaluate that code against the global scope in the context of the global object for the associated script environment.
The result of the evaluation will be echoed to the console, eg. if you entered 2+2 then the console would echo 4.
Triggers tab
The triggers tab lists all active timers (created with setTimer() and queue() functions) across all scripting environments.
The following information is shown:
Function – the name of the function that will be invoked
Script – the script and player where the function is located
Object – the object associated with the trigger as defined in setTimer() or queue() parameters
Time – the gameTime when the function was last invoked
Interval – the interval or delay as defined in setTimer() or queue() parameters
Calls – the number of invocations of the function so far
Labels tab
The labels tab lists all known Labels on your local machine (it won't list labels on network peers in a multiplayer game) along with the .type of the object they are associated with.
When a label is selected, you can click the Show button to highlight the area or position on the map associated with the label (which internally uses hackMarkTiles()).