HPlogo Getting Started as an MPE/iX Programmer Programmer's Guide: HP 3000 Computer MPE/iX Computer Systems > Chapter 1 OVERVIEW

DEBUG

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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.

Feedback to webmaster