Annotation of src/usr.bin/pmdb/pmdb.1, Revision 1.1.1.1
1.1 art 1: .\" $PMDB: pmdb.1,v 1.2 2002/02/20 15:16:27 art Exp $
2: .\"
3: .\" Copyright (c) 2002 Artur Grabowski <art@openbsd.org>
4: .\" All rights reserved.
5: .\"
6: .\" Redistribution and use in source and binary forms, with or without
7: .\" modification, are permitted provided that the following conditions
8: .\" are met:
9: .\"
10: .\" 1. Redistributions of source code must retain the above copyright
11: .\" notice, this list of conditions and the following disclaimer.
12: .\" 2. The name of the author may not be used to endorse or promote products
13: .\" derived from this software without specific prior written permission.
14: .\"
15: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16: .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
17: .\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
18: .\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19: .\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20: .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21: .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22: .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23: .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24: .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25: .\"
26: .Dd Feb 20, 2002
27: .Dt PMDB 1
28: .Os
29: .Sh NAME
30: .Nm pmdb
31: .Nd debugger.
32: .Sh SYNOPSIS
33: .Nm pmdb
34: .Ar program Op Ar ...
35: .Sh DESCRIPTION
36: The
37: .Nm
38: utility can be used to see what is happening inside a running process or
39: to catch program crashes and examine the state at the time of the crash.
40: The only way to start
41: .Nm
42: at this moment is to specify the name of the prgram to be debugged and all
43: its arguments on the command line.
44: The program is controlled from a command line which usually gives the
45: prompt "pmdb>".
46: .Sh PROCESS STATES
47: A loaded program can be in one of three possible states:
48: .Bl -tag -width RUNNING
49: .It LOADED
50: This is the initial state.
51: The program is not running, it can't be examined (because it doesn't have
52: any state).
53: The only thing that can be done to the process is to start it with the
54: .Ic run
55: command.
56: .It RUNNING
57: When a process is
58: .Ic RUNNING ,
59: the only way to affect it is through signals sent to it.
60: Unless a signal is ignored with the
61: .Ic signal ignore
62: command, it will be catched by pmdb and the process will go into the
63: .Ic STOPPED
64: state.
65: .It STOPPED
66: A stopped process can be examined, changed and restarted with the
67: .Ic continue
68: command.
69: .El
70: .Sh COMMANDS
71: .Bl -tag -width continue
72: .It regs
73: Show the contents of the processor registers at the moment the process was
74: .Ic STOPPED .
75: .It trace
76: Show the function call trace of the currently
77: .Ic STOPPED
78: process.
79: .It run
80: Start running a
81: .Ic LOADED
82: process.
83: .It continue
84: Continue a
85: .Ic STOPPED
86: process.
87: .It kill
88: Unconditionally kills the debugged process and puts it in the
89: .Ic LOADED
90: state.
91: .It signal Ar ignore|stop Ar signum|signame
92: Sets the signal state for the specified signal to either ignore it and
93: pass it to the process or to stop the process.
94: .It sigstate
95: Shows which signals are currently ignored.
96: .It help
97: Shows a short help.
98: .It quit
99: Kills the process (if necessary) and exits
100: .Nm .
101: .It exit
102: Alias for
103: .Ic quit .
104: .El
105: .Sh HISTORY
106: The
107: .Nm
108: debugger was written because the author believed that
109: .Xr gdb 1
110: was too to bloated and hairy to run on OpenBSD/sparc64.