---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Debugging applications

# Debugging applications {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

Application developers can display debug messages about configuration records to help
them troubleshoot issues. The Debug Scopes module provides information about the system switching
between custom applications to run server-side scripts.

The system offers the following debugging options to help application developers determine how
applications affect configuration records.  
{#c_DebuggingApplications__table_bmb_3jr_pt__entry__2}

| Debugging option | Description |
|-|-|
| Debug Business Rule | Use this module to determine which application's business rules are running against tables. The system only displays application information if business rules from different application scopes run on the same table. |
| Debug Business Rule (Details) | Use this module to determine the results of running business rules against tables. The system only displays application information if business rules from different application scopes run on the same table. |
| Debug Security | Use this module to determine which application's access controls apply to a given table or record. |
| Debug Scopes | Use this module to determine the application scope context in which a script runs. Since one script can call another script it is possible to have multiple application scope context changes while running a series of scripts. |
| Enable Session Debug | Use this related link to enable the generation of log messages for a particular application. Application scripts that use GlideSystem logging methods will generate output to the log at the indicated verbosity level. |
[Table 1. Application debug options]

{#c_DebuggingApplications__table_bmb_3jr_pt}

When multiple applications contribute to the debug output, the system adds a new section called
Apps to the display a list of the applications writing to the session
log. Clicking on the check box next to the application name hides or displays the application's
associated debug messages.  
Figure 1. Sample application debug output of business rules

## Debugging scopes {#ariaid-title2}

Application developers can use the Debug Scopes module to display
information about when the system switches between custom applications to run server-side
scripts.

When enabled, the system displays a message whenever the system switches to a custom
application to run a server-side script.  
Figure 2. Sample debug scopes output from the incident table

Every time the system runs a server-side script object it enters the script's scope context.
When the script finishes running, the script exits the scope context. The debugging messages
track changes to the script scope context.

The debugging message displays a greater than character \> each time the system enters a script
object's context, and displays a less than character \< every time the system exits a script
object's context. In cases where one script calls another the debugging message adds another
greater than character to the path for each call. For example, if a business rule calls a script
include, which in turn calls another script object there would three characters in the path such
as:

    > Entering scope [x_app_one]
    >> Entering scope [x_app_two]
    >>> Entering scope [x_app_three]

Note:  
The system does not display entering or exiting messages for script objects in the global scope.

Application developers may want to enable other debugging options to in conjunction with this
option to see information about the possible source of the server-side script such as Debug
Business Rule.

