VTS features a versatile built-in Debugger utility that can be used to examine the contents of modules and their properties and can be invaluable in helping you to locate problems that only become apparent while your application is running. The information displayed in the Debugger is updated in real-time as the scripting code runs.
Note: If the Debugger application is not referenced in the VAM, you must manually add it. The Debugger application's directory is named "Debugger", and is stored within the VTS installation directory. If you require assistance in adding the Debugger application to the VAM, please refer to the instructions provided in Add an Existing Script Application to the VAM.
An image of the Debugger is displayed below:

In VTS 6.0, the existing Debugger utility has been revamped with improved speed capabilities, making it 5 times faster. VTS programmers will notice the enhanced speed when switching between variable lists.
Note: VTS now features the Source Debugger, an even more powerful debugging and analysis tool that enables you to test code written using the VTS scripting language.
• Due to its versatility and features, the Debugger is made easily accessible in VTS using a variety of different means.
Regardless of its location, the Debugger button appears the same on all dialogs.

The top of the Debugger indicates the name of the module currently being examined, and if an instance of the module is running, the name of the current active state appears in brackets following the module name.
To the left of the module name appears a button with an icon of a pin.

When depressed, this toggle button enables you to set the Debugger utility to always appear on top of all other windows.
Below the module name appears a set of buttons that enable you to examine different aspects of the application's code. These are:
Select The Select button enables you to examine the variables in the graphics module for a selected window:
1. Click the Select button.
2. Click on a VTS page to begin examining the variables in the graphics module for that page.
Parent The Parent button enables you to examine the parent of the current module.
Next The Next button works with the Previous button (described below) to enable you to move forward and backward through the history of modules you've recently viewed. In order to use the Next button, you must have gone backward a module using the Previous button first.
Instances The Instances button enables you to step through the different instances of the module. The current instance and the total number of instances are shown beneath the Instances button.
Root The Root button allows you to examine the root module of the current module.
Caller The Caller button allows you to examine the caller of the current module.
Previous The Previous button works with the Next button (described above) to enable you to move backward and forward through the history of modules you've viewed recently. In order to use the Previous button, you must have gone forward a module with the Next button first.
Beneath the Debugger buttons appears a beveled area containing a search field, a number of checkboxes, and a listbox of modules, along with parameters and variables and their values. These elements are described below.
Search The Search field enables you to enter a search string by which you wish the list of variables to be restricted. The wildcard characters '?' and '*' may be used in combination with either a single character or 0 or more characters to locate specific variables. You can use the asterisk wild card to stand for any combination of characters. For example, L* will return all variable names that begin with the letter "L"; *L or *L* will return all variable names that contain an "L" anywhere in the body of their name.
Variables The Variables checkbox filters the list to include variables when selected.
Parameters The Parameters checkbox filters the list to include parameters when selected.
Modules The Modules checkbox filters the list to include modules when selected.
Sort The Sort checkbox filters the list alphabetically when selected. If deselected, the items displayed in the list will appear in the order in which they were declared.
Global The Global checkbox filters the list to include all variables that can be accessed from the current module; otherwise, only the variables in the current module will be displayed.
Note: When a new value is entered in the edit fields in the debugger, the Enter key must be pressed or it will not "register" (i.e. changing focus does not automatically enter values into the fields of the debugger). Further, if a text string is greater than 255 characters, only the first 255 characters are shown in the value field, but its full length is still registered.
Beneath the filtering and sorting checkboxes appears the list of modules, variables and parameters. This list may be resized by dragging the divider between the Name and Value columns. If an item in the list is a module, an expand module button will appear to the right of its "Value" column.

Clicking on this button enables you to expand the module and examine its contents.
As you have read above, the checkboxes above the list enable you to filter the list according to your needs.
Under the list of modules, variables and parameters appears information about the items in the list. Clicking on any item in the list of modules, variables and parameters will bring up information on the selected item, such as the value of the selected item, the data type (if the selected item is a variable), the attributes of the selected item, the class of the item, and if the selected item is a variable and the "Global" checkbox is selected, the module to which the variable belongs will be displayed. The name of the selected module, variable or parameter is centered above the Value field.
In the event that a selected variable has a value that can be modified, the Value field becomes enabled for modification, and features an undo button which is marked with an "X". Any changes you make to the value of a selected variable will have an immediate effect in the running instance of the current module. Clicking on the undo button will invalidate the current value.
If the selected variable is actually an array, the information displayed applies to the current element of the array only. The array contents are visible in the Array field at the bottom of the Debugger, however, if the selected variable does not belong to an array, the field at the bottom of the Debugger will be labeled "No Array".
In the array display area, there is a scrollable listbox that contains a list of elements for the selected dimension. The current dimension can be changed at the top of this area. Selecting an element in this listbox will allow information on the element to be displayed/edited in the variable information area.