Setting preferences for the EGL debugger

The EGL debugger has two pages of preferences: one for general preferences and another that contains a list of programs or services to debug in generated code, as described in “Debug behavior mapping” in this topic.
The only preferences used for debugging Rich UI applications are as follows:

For further details on Rich UI, see "Rich UI debugging."

General preferences

To set general preferences for the EGL debugger:

  1. From the main menu, click Window > Preferences.
  2. In the Preferences window, expand EGL and then click Debug. The EGL debugger preferences are displayed.
  3. If you want the debugger to treat a program declaration like a breakpoint, select Stop at first line of a program.
  4. To make changes to your code as you debug, select Enable hotswapping.
  5. If you have a call statement and you did not set the isExternal property for the statement to YES, and did not create a Debug Behavior Mapping that indicates that the target program is "generated" or "IMS™ Debug", EGL searches for internal representation (IR) files for the program to use in the debugger.

    These files are the result of an intermediate step in the build process. If EGL does not find the IR files, a warning window opens that states that the source files for the program could not be found. To suppress this message, clear the Prompt when a called program's source cannot be found preference, which is selected by default. In the warning window, there is a Do not display this message in the future check box. If you select this option, EGL automatically clears the Prompt when a called program's source cannot be found preference.

  6. By default, EGL searches first for a called program by name, then, more slowly, by alias. If you do not call programs by alias and want to disable the slower search by alias process, clear Allow programs to be called by alias.
  7. To require that a user ID and password be specified for remote calls to an SQL database while debugging, select Prompt for SQL user ID and password when needed. This user ID and password are separate from those that are used to access an SQL database. For more information, see "SQL database access" in this topic.
  8. Select Set systemType to DEBUG to cause the value of sysVar.systemType to be DEBUG rather than the value of the system build descriptor option.
  9. Type the initial values for sysVar.terminalID, sysVar.sessionID, and sysVar.userID. If you do not specify values, each value defaults to your user ID on Windows® 2000, NT, XP, and Linux®.
  10. In the Remote User and Remote Password fields, type the user ID and password to be used for remote calls while debugging.

    The user ID and password that are used for remote calls while debugging are separate from the user ID and password that are used to access a SQL database.

  11. In the EGL Debugger Port value field, type the port number for the EGL debugger. The default is 8345. For more information, see "EGL debugger port" in this topic.
  12. In the Character encoding field, select the type of character encoding to use when you process data during a debugging session. The default is the file encoding of the local system. For more information, see Character encoding options for the EGL debugger.
  13. To specify external Java™ classes to use when the debugger runs, modify the class path. For example, you might need extra classes to support JDBC drivers or Java access functions.

    The class path additions might not be visible to the application server test environment, but you can add to the classpath of that environment by working on the Environment tab of the server configuration.

    Use the buttons to the right of the Class Path Order section.

    • To add a project, JAR file, directory, or variable, click the appropriate button: Add Project, Add JARs, Add Directory, or Add Variable.
    • To remove an entry, select it and click Remove.
    • To move an entry in a list of two or more entries, select the entry and click Move Up or Move Down.
  14. To restore the default settings, click Restore Defaults.
  15. To save your changes, click Apply or, if you are finished setting preferences, click OK.

SQL database access

To determine the user ID and password to use to access an SQL database, the EGL debugger considers the following sources in order:
  1. The build descriptor used at debug time; specifically, the sqlID and sqlPassword build descriptor options.
  2. The SQL preferences page, as described in Setting preferences for SQL database connections; on that page, you can also specify other connection information.
  3. An interactive dialog that is displayed at connection time. This dialog is displayed when you select Prompt for SQL user ID and password when needed.

The user ID and password that are used to access an SQL database are separate from the user ID and password that are used to make remote calls while debugging. To set the user ID and password for remote calls while debugging, see the instructions in this topic for setting preferences in the debugger.

EGL debugger port

The EGL debugger uses a port to establish communication with the Eclipse workbench. The default port number is 8345. If another application is using that port or if that port is blocked by a firewall, set a different value, as described in the instructions in this topic for setting preferences in the EGL debugger.

If a value other than 8345 is specified as the EGL debugger port and if an EGL program will be debugged on the J2EE server, you must edit the server configuration:
  1. Go to the Environment tab, System Properties section.
  2. Click Add.
  3. In the Name field, type com.ibm.debug.egl.port.
  4. In the Value field, type the port number.

Debug behavior mapping

When you debug a program that calls another program or a service, the debugger can execute either the EGL source code or the generated code for the called program or service. By default, the debugger uses the EGL source code. To use the generated code, add an entry to the Debug behavior mapping table.

To add entries:
  1. From the main menu, click Window > Preferences.
  2. In the Preferences window, expand EGL and Debug and click Debug Behavior Mapping.
  3. For calls to programs, click the Called Programs tab. For each row of the table, specify the following fields:
    Mapping mode
    Select one of the following values:
    source
    Select this value to debug the EGL source file for the called program. This is the default.
    generated
    Select this value to debug the generated code for the called program. For example, you might choose this example if you do not have the EGL source file in your workspace, or if the source file is large and runs slowly in the debugger.
    IMS debug
    Select this value if you are debugging IMS and you have called programs that reside on the host. This setting allows the calls to the host program to participate in the debugger transaction.
    Call target
    The name of the program that is called from the program that you are debugging. You can use an asterisk (*) at the end of the target as a wildcard.
    Part mapping
    The fully qualified name of the program or service that you want the debugger to run when the program in Call target is called. Do not use an asterisk in this field.
  4. For calls to services, click the Service References tab. For each row of the table, specify the following fields:
    Mapping mode
    Select one of the following values:
    source
    Select this value to debug the EGL source file for the service. This is the default.
    generated
    Select this value to debug the generated code for the service. For example, you might choose this option if you do not have the EGL source file in your workspace, or if the source file is large and runs slowly in the debugger.
    Service binding key
    The name of the binding key in the deployment descriptor for the service that you are calling.
    Part mapping field
    The fully qualified name of the service that you want the debugger to run when the service in Service binding key is called. Do not use an asterisk in this field.

Feedback