HP 3000 Manuals

DEBUG [ Getting Started as an MPE/iX Programmer Programmer's Guide ] MPE/iX 5.0 Documentation


Getting Started as an MPE/iX Programmer Programmer's Guide

DEBUG 

DEBUG is a low-level assembly language debugger, requiring some knowledge
and familiarity in the following areas to utilize:

   *   Assembly code
   *   Procedure calling conventions
   *   Parameter passing conventions
   *   HP3000 and HP Precision Architecture (HP-PA)

Hewlett-Packard offers two source level, symbolic debuggers, SYMBOLIC
DEBUG/XL and Toolset/XL, which you can use if you do not require assembly
language debugger features.

DEBUG is an intrinsic procedure, providing privileged and non-privileged
users with an interactive debugging facility for checking out their
operating environments.  Using DEBUG, it is possible to:

   *   Set, delete, and list breakpoints in a program.  The program
       executes until a breakpoint is reached, then stops and passes
       control to the user.  When you set breakpoints, you can specify a
       list of commands that will automatically be executed when the
       breakpoint is hit.

   *   Single step (multiple steps) through a program.

   *   Display and/or modify the contents of memory locations.  A full
       set of addressing modes is offered, including:

       - absolute CM memory
       - code segment relative
       - data segment relative
       - S relative
       - Q relative
       - DB relative
       - HP-PA virtual addresses
       - HP-PA real memory addresses

   *   Display a symbolic procedure stack trace, optionally displaying
       interleaved Native Mode (NM) and Compatibility Mode (CM) calls.
       You can also temporarily set the current debug environment back to
       the environment that existed at any marker in the stack.

   *   Calculate the value of expressions to determine the correct values
       of variables at a given point in a program.  Values can be custom
       formatted in several bases.

   *   Use full screen displays (windows) that allow you to inspect
       registers, program code, the current stack frame, and the top of
       stack.  Groups of custom user windows can be aimed at important
       data blocks to dynamically monitor changing values.

   *   Display on-line help for all commands, predefined functions, and
       environment variables.

   *   Create and reference user-defined variables.

   *   Define powerful, parameterized macros.  You can invoke macros as
       new commands to perform sequences of commands or as functions
       within expressions that return single values.

   *   Define aliases for command and macro names.

   *   Execute commands from a file, record all user input to a logfile,
       and record all DEBUG output to a listfile.



MPE/iX 5.0 Documentation