Using the command line interface of debug

Using the command line interface of debug

debug is a symbolic, source-level debugger with many capabilities, including an easy-to-understand command language, control over multiple processes, and evaluation of complex expressions. It facilitates the finding of errors in user programs by allowing the user to control the execution of a program and examine its state. Live programs can be executed one source statement or machine instruction at a time, or can be instructed to run until some event occurs. Program variables and the processor registers may be examined or modified, and the user can request a trace back of active functions, disassembly of a portion of the program's executable code or a raw dump of any area of the program's memory.

debug supports single and multiprocess applications and processes that consist of a single thread of control or of multiple threads. Most of the debugger commands accept a list of processes and threads to which the specified actions will be applied. The user can set a breakpoint in a single thread and request that a list of threads and processes stop when that breakpoint is encountered. Users can also request interception of signals and system calls on a per-thread basis and can request per-thread stack traces and register dumps.

This tutorial introduction is intended to help you become proficient using debug with the Command Line Interface (CLI). The tutorial covers all the major features.

NOTE: A separate tutorial covers the graphical user interface. For a more complete description of the individual commands, see debug(1) or the on-line help facility. If you are familiar with the dbx debugger, you will find a comparison of debug to dbx in ``A guide to debug for dbx users''.

Next topic: Philosophy

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004