[<<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