Source Debugger: Module Tree

To the left of the Source Debugger window appears the module tree.

image\ModuleWindow.gif

As its name implies, the module tree reports a list of all modules in the selected application, organized in a hierarchical tree structure. The modules shown in the trees are not dynamically updated in real-time. To do so would impose a significant execution overhead that would likely impair or affect the normal running of the system. The trees are automatically refreshed when a breakpoint is "hit" (see Set and/or Clear a Breakpoint), or when the "Refresh Trees" tool bar button is clicked.

A small square box to the left of the module name indicates a module that has sub-modules. A plus symbol in the box indicates that display of the sub-modules is currently hidden, while a minus symbol in the box is displayed when the sub-module tree has been expanded. You may expand any directory to view its subdirectories by clicking the plus sign to its left, or by double-clicking the module name. Likewise, you can contract a branch in the module tree by clicking the minus sign or double-clicking the module name again.

At the bottom of the module tree appear three tabs that may be clicked to change the type of modules that are displayed in the module tree as follows:

Static: Displays static modules. This represents the hierarchy of modules present in the source code of your script application when it was compiled. The static tree shows you exactly what is in the engine, statically loaded without any parent.

Scope: Displays the "parent/child" relationships of each module instance (see Scope). Whereas the static tree displays one entry per compiled module, the scope tree displays one entry per module instance that is currently running, therefore, there may be none, or many entries for the same module code. A module instance in the scope tree will resolve its variable references in its parent module instances shown in this tree.

Call: Displays the actual call sequence for each module instance (i.e. which module has called a module instance (see Module Calls)).

Note: The scope tree and call tree look very different.

Information on sorting the variables displayed in the module tree in alphabetical order is provided Sorting Data in the Module Content Window.