The {{Debug}} Tag

This tag enables or disables service engine debugging for the current session.

The Debug tag performs the following functions:

  • Determines if debugging will be enabled or disabled
  • Optionally specifies the addresses of the clients that are allowed to debug this session.

The syntax of the Debug tag:

{{Debug (option [,option]...}} 

Options

ON Enables service program debugging in this session.

ON allows service programs that are subsequently created in the current session to be debugged.

OFF

Disables service program debugging in this session.

OFF prevents service programs created in this session from being debugged and clears the list of ID strings and IP restrictions.

TYPE TYPE describes the type of debugging to invoke. This is an optional parameter. The default is the default for the runtime. For ACUCOBOL-GT, the valid values are xterm, term, and acuthin.

Values are case insensitive.

TYPEPARAM TYPEPARAM describes a parameter to be passed to the debugger when it is initiated. This optional parameter usually indicates the external source that will control the debugger.

For ACUCOBOL-GT, when TYPE is xterm, TYPEPARAM contains the xservername:displaynumber of the xterm or set to NULL to allow the xterm to use the default display DISPLAY environment variable.

When TYPE is term, TYPEPARAM contains tty device on which to send and receive commands.

When TYPE is acuthin, TYPEPARAM contains client where client is the name of the machine on which acuthin is executing and port is the port number on which it is listening.

QUERYPARAM

QP

QUERYPARAM and QP are synonymous and contains the name of a query parameter that can be used to dynamically specify debug parameters. Debug options set with QUERYPARAM will override those set in the DEBUG tag. However, for security reasons, the query parameter can only be used to turn debugging on and off.
IP=n.n.n.n [-n.n.n.n]

IP=n.n.n.n /n

IP=ipv6 [- ipv6 ]

IP=ANY|ALL

Restriction: This option is not currently supported in BIS/IIS for extend, but there is an alternative method detailed below.

Allows debugging to be restricted to requests originating from one or more IP address. If an IP address restriction is in effect, debug requests will only be accepted from clients that have IP addresses assigned within the restricted range. A space-separated list of IP addresses or ranges may be specified. The list of IP restrictors is processed from left to right.

If ANY or ALL is specified, requests from any IP may be debugged.

Note that specifying either 127.0.0.1 or ::1 will allow access from a web browser running on the host's console. In this case, access the pages using localhost, 127.0.0.1, or [::1] as the name of the host.

If the OFF action (above) is specified, the IP restriction list is cleared (same as IP=ANY), but any IP restrictions specified in the same or later tags will be processed and stored.

If either an IPv4 or IPv6 loopback address is specified (that is, 127.*.*.* or ::1), the setting applies to both IPv4 and IPv6 loopback addresses.

NOIP Same as IP=ANY.

Notes:

While IP address restrictions are not currently supported in BIS/IIS for extend, it is possible to enable the {{Debug}} tag itself only for specific computers. For example, this block in the .srf file:

{{ if Value( REMOTE_ADDR, SERVER, TOLOWER,MATCH="^192.168.3.54$" ) }}
{{ Debug( On, Type=Acuthin,TypeParam=DebugHostMachine:5632 ) }}{{//}}
 {{ EndIf }}

Processes the {{Debug}} tag only for requests from 192.168.3.54. To restrict requests to localhost, specify 127.0.0.1 or ::1.