DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gdb) Type Checking

Info Catalog (gdb) Checks (gdb) Range Checking
 
 An overview of type checking
 ----------------------------
 
    Some languages, such as Modula-2, are strongly typed, meaning that
 the arguments to operators and functions have to be of the correct type,
 otherwise an error occurs.  These checks prevent type mismatch errors
 from ever causing any run-time problems.  For example,
 
      1 + 2 => 3
 but
      error--> 1 + 2.3
 
    The second example fails because the `CARDINAL' 1 is not
 type-compatible with the `REAL' 2.3.
 
    For the expressions you use in GDB commands, you can tell the GDB
 type checker to skip checking; to treat any mismatches as errors and
 abandon the expression; or to only issue warnings when type mismatches
 occur, but evaluate the expression anyway.  When you choose the last of
 these, GDB evaluates expressions like the second example above, but
 also issues a warning.
 
    Even if you turn type checking off, there may be other reasons
 related to type that prevent GDB from evaluating an expression.  For
 instance, GDB does not know how to add an `int' and a `struct foo'.
 These particular type errors have nothing to do with the language in
 use, and usually arise from expressions, such as the one described
 above, which make little sense to evaluate anyway.
 
    Each language defines to what degree it is strict about type.  For
 instance, both Modula-2 and C require the arguments to arithmetical
 operators to be numbers.  In C, enumerated types and pointers can be
 represented as numbers, so that they are valid arguments to mathematical
 operators.   Supported languages Support, for further details on
 specific languages.
 
    GDB provides some additional commands for controlling the type
 checker:
 
 `set check type auto'
      Set type checking on or off based on the current working language.
       Supported languages Support, for the default settings for
      each language.
 
 `set check type on'
 `set check type off'
      Set type checking on or off, overriding the default setting for the
      current working language.  Issue a warning if the setting does not
      match the language default.  If any type mismatches occur in
      evaluating an expression while type checking is on, GDB prints a
      message and aborts evaluation of the expression.
 
 `set check type warn'
      Cause the type checker to issue warnings, but to always attempt to
      evaluate the expression.  Evaluating the expression may still be
      impossible for other reasons.  For example, GDB cannot add numbers
      and structures.
 
 `show type'
      Show the current setting of the type checker, and whether or not
      GDB is setting it automatically.
 
Info Catalog (gdb) Checks (gdb) Range Checking
automatically generated byinfo2html