[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Error message overview
------------------------------------------------------------------------------
Blinker Error Messages
The following sections contain a complete list of the Blinker error
messages with a description of each error and reasons for their
occurrence.
The errors are divided into three classes:
o 10xx - Link-time warning messages
o 11xx - Link-time fatal messages
o 12xx - Runtime messages
Link-time warning messages are for information only, and do not set the
DOS ERRORLEVEL; thus the execution of Blinker and any MAKE utilities
being used will continue unaffected. These warning messages may be
disabled altogether using the BLINKER MESSAGE NOWARNING command.
Link-time fatal messages and runtime messages, on the other hand, are of
a more serious nature. They cause immediate termination of program
execution, and set the DOS ERRORLEVEL to 1.
At runtime when the Blinker overlay manager encounters an error
condition, it passes an error number to the Blinker error handler
module. This routine supplies the text for the message which is to be
displayed. The error handler is automatically included by Blinker in
the .EXE in the course of linking.
The source for the Blinker error handler has been supplied on the
Blinker distribution diskette in a number of languages, so the text of
the Blinker error messages can be modified.
If you modify the Blinker error handler, you must then compile it and
link it as a FILE into the root of the program. If you do not modify it,
there is no need to compile it or include it in the link script. It
will be automatically included into the .EXE by Blinker.
Care should be taken when overlaying the error handler in the case of
the potential error 1201: "cannot find overlay file in the current
path". This can cause an endless loop when the Blinker overlay manager
cannot find an overlay file, tries to load the error handler, cannot
find the overlay file containing the Blinker error handler, and again
tries to load the error handler.
The developer may wish to handle this particular error in a different
way to avoid this problem, or may just ensure that the overlay file can
be found, e.g. by making it an internal overlay.
The error handler sets up the appropriate error message for the error
number returned by the function BLIERRNUM(), in some cases using the
function BLIERRPRM() to obtain the name of the offending item. In the
case of Clipper Summer '87 it then calls MISC_ERROR with a procedure
name of BLINKER, a line number which is the error number, and the
appropriate error message. In the case of Clipper 5.01 it creates a new
error object which is passed as the argument to the Clipper default
error handler block.
Approaches to Debugging
Usually link-time errors are well identified and the approach to their
resolution is given in the individual error message descriptions in the
following section. On the other hand, runtime error conditions that
arise from the linking process can be more difficult to diagnose and
resolve.
The two most common link-time mistakes which can lead to runtime errors
are:
(1) overlaying something which should not be overlaid, and
(2) including the wrong module of two or more like-named modules.
Both of these can lead to a variety of runtime symptoms which include,
but are not limited to, corruption of variables or memory, inappropriate
characters displayed to the terminal, a memory manager exception, and
system lockups.
When encountering any such problems that are not attributable to the
code itself or to other factors in the environment, the following steps
are suggested in analyzing the linker's role in the problem.
1. Ensure that the program stack is sufficiently large using the STACK
or BLINKER PROCEDURE DEPTH commands.
2. Verify that everything in the overlay area is reliably overlayable
by: a. checking Blinker's '3rdparty' file, b. checking the documentation
for each third party product for their recommended method for dynamic
overlaying, c. if the problem is reproducible, removing all suspected
files and libraries from the overlay area and testing the program after
each is systematically reinserted.
3. Check for duplicate modules using the BLINKER MESSAGE DUPLICATES
command. See Chapter 6 for the definition of this command. Usually
this situation can be resolved by altering the order of the libraries
and, if necessary, using the MODULE FROM command.
4. Test the program with another linker. If the problem does not recur
with the other linker, retry Blinker with the same overlays and order of
libraries.
5. Occasionally a small portion of the program can be isolated which
will continue to exhibit the error. This can be helpful in focusing
attention on a few central factors related to the error.
6. Contact Blinker technical support. The technical bulletin section on
our BBS and our FastFax retrieval system have our latest technical
reports. Please refer to these before sending a BBS message or calling
our technical support line. Also, review this manual for additional
information, particularly the details in Chapters 3, 4, and 6. If you
should call, please have your Blinker serial number and link script
files at hand.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson