Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting

> ## Analyzing 4GL code

> Use the following resources and tools to analyze your 4GL code:

> - The Progress Debugger

> - Debug Alert startup parameter

> - Enhanced logging features

> - STARTUP-PARAMETERS attribute of the SESSION system handle

> - ProSpy Plus

> ##### Debug Alert startup parameter

> The Debug Alert (`-debugalert`) startup parameter places a Help button on alert dialog boxes displayed by a client application that provides access to a Stack Trace dialog box and the Debugger. For more information, see the "Debugging from alert dialog boxes" section.

> ##### Enhanced logging features

> Use the enhanced logging features available in OpenEdge to monitor and control all aspects of logging, including the extent and type of information logged, and the size and retention of log files. For more information, see Chapter 5, " Logging in OpenEdge."

> ##### STARTUP-PARAMETERS attribute of the SESSION system handle

> Use the `STARTUP-PARAMETERS` attribute of the `SESSION` system handle to obtain a comma-separated list of all startup parameters specified for the current OpenEdge session. The character string returned includes startup parameters from the following potential sources:

> - Progress default startup parameter file (`$DLC/startup.pf`).

> - File specified by the `$PROSTARTUP` environment variable.

> - Startup parameters specified on the command line.

> - Startup parameters specified in a parameter file (`.pf`).

> Example 7–7 shows `STARTUP-PARAMETERS` attribute output generated by executing execlog.p. (See Example 7–3).

> Example 7–7: Sample STARTUP-PARAMETERS output
>     -pf C:\Progress\OpenEdge\startup.pf,-cpinternal ISO8859-1,-cpstream
>     ISO8859-1,-cpcoll Basic,-cpcase Basic,-d mdy,-numsep 44,-numdec 46,(end
>     .pf),-db sports,-1

> See OpenEdge Development: Progress 4GL Reference for detailed information on the `STARTUP-PARAMETERS` attribute.

> ##### ProSpy Plus

> ProSpy Plus is a debugging tool you can use to record a stack trace of 4GL execution at run-time. It also records the instantiation of classes (generated by the NEW statement) and the invocation of methods defined within classes (generated by the SUPER and DELETE OBJECT statements or the INVOKE() method). You can turn tracing on and off at the beginning and end of execution, with the click of a button. The results of tracing, which include all procedures, triggers, publish and subscribe executions, as well as user defined functions executed during the tracing period, appear in a hierarchical treeview interface. This allows a user to navigate through a stack trace to see as much or as little, execution information as they need or want.

> To learn more about this tool, consult the online help for ProSpy Plus.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095