This section presents notes on using the COBOL Error Report.
In addition to the COBOL Error Report, the following functions launch automatically when application errors occur:
Visual C++ Just-in-Time Debugger
Windows Error Reports
Even though these functions are preprogrammed to launch on occurrence of application errors, the COBOL Error Report will launch if its startup is specified.
The COBOL Error Report cannot be used while an application is being debugged using the interactive debugger, PowerCOBOL debugger, or Visual C++ debugger or is being executed on Systemwalker.
The COBOL Error Report will not be launched if the application itself handles application errors by using an exception handler for structured exception handling. This applies to, for example, applications linked to non-COBOL programs that have an exception handler and applications called from server programs such as a Web server that has an exception handler. To check for application errors that occur in such applications, use the interactive debugger.
The COBOL Error Report will not be launched from the system successfully if a stack overflow exception (0xC00000FD) occurs. If diagnostic information about the error is desired, refer to followings:
Windows Error Reports
Statements in a program compiled with the compiler option OPTIMIZE specified may be moved or deleted by the compiler. Hence, inaccurate line numbers may be generated.
If the following error message is output in the diagnostic report, the description method of the source file is incorrect.
"Outputting the language image information for this program failed because the information on program '$1' in the debugging information file '$2' contains an error."
$1: Program name
$2: Debugging information file name
To solve this problem, check the following and change the source file. If the problem is not solved, contact technical support.
For COBOL programs:
Items related to the description method for the source file in Chapter 2, "Notes"
For PowerCOBOL programs:
Notes on how to use the library file in "PowerCOBOL User's Guide"
If a non-COBOL program or system function that does not generate a stack frame is in the calling path of a program, the information items of a program that invokes such a non-COBOL program or system function will not be generated in the <Call Stack> or <Stack Summary> of the diagnostic report. For Visual C++, for example, this applies to a program compiled with the compiler option /Ox, /O1, /O2, or /Oy specified.
If the stack is corrupted, calling path information in effect up to the moment of the corruption is covered in the diagnostic report along with information indicating that the stack is corrupted.
After generating a diagnostic report about the application that does not respond, the COBOL Error Report aborts the process. Since the system could behave erratically after the abort, do not start the COBOL Error Report for a successfully running process or for a process that may affect the performance of the Windows system.
When diagnosing application errors or runtime messages, the COBOL Error Report will not operate until a problem occurs. As a result, the execution speed of an application will not change unless a problem occurs. When watching for area destruction, however, the execution speed of an application will be reduced by 50 to 90 percent. The execution speed is reduced because the application is executed under the COBOL Error Report.