Progress
Debugger Guide


Handling Internal Procedures and Procedure Files

The procedure name in a breakpoint specification can identify either a procedure filename or an internal procedure name. If both a procedure file and internal procedure exist by the same name (including extension) and you set a breakpoint using this name, Progress applies the breakpoint to both the internal and external procedures. The only way to distinguish the two in the same debugging session (and calling procedure) is to reference the external procedure file by a relative or absolute pathname. You must use the same pathname in breakpoint specifications, Debugger RUN commands, and procedure RUN statements that refer to the external procedure file. Any reference to the procedure name alone always defaults to an internal procedure, if it exists, in the executing procedure file.

For example, if procedure file arrmenu.p calls both internal procedure custrpt.p and an external procedure with the pathname /db/v9/custrpt.p you can set the following breakpoints to stop on the first executable line of each procedure:

BREAK custrpt.p
BREAK /db/v9/custrpt.p 

All calls to the external procedure must also refer to /db/v9/custrpt.p.

You can also set a breakpoint in an internal procedure by instead referencing the calling procedure name and line number. This eliminates any confusion in setting the breakpoint between an internal procedure and external procedure file. For example, if procedure file arrmenu.p calls internal procedure custrpt.p and the first line of custrpt.p is line 33 in arrmenu.p, you can unambiguously set a breakpoint on the first line of custrpt.p using the following setting:

BREAK arrmenu.p 33 


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