summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man1/gdb.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man1/gdb.1')
-rw-r--r--upstream/archlinux/man1/gdb.1506
1 files changed, 506 insertions, 0 deletions
diff --git a/upstream/archlinux/man1/gdb.1 b/upstream/archlinux/man1/gdb.1
new file mode 100644
index 00000000..133356cf
--- /dev/null
+++ b/upstream/archlinux/man1/gdb.1
@@ -0,0 +1,506 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "GDB 1"
+.TH GDB 1 "2023-12-03" "gdb-14.1" "GNU Development Tools"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+gdb \- The GNU Debugger
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+gdb [\s-1OPTIONS\s0] [\fIprog\fR|\fIprog\fR \fIprocID\fR|\fIprog\fR \fIcore\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The purpose of a debugger such as \s-1GDB\s0 is to allow you to see what is
+going on \*(L"inside\*(R" another program while it executes \*(-- or what another
+program was doing at the moment it crashed.
+.PP
+\&\s-1GDB\s0 can do four main kinds of things (plus other things in support of
+these) to help you catch bugs in the act:
+.IP "\(bu" 4
+Start your program, specifying anything that might affect its behavior.
+.IP "\(bu" 4
+Make your program stop on specified conditions.
+.IP "\(bu" 4
+Examine what has happened, when your program has stopped.
+.IP "\(bu" 4
+Change things in your program, so you can experiment with correcting the
+effects of one bug and go on to learn about another.
+.PP
+You can use \s-1GDB\s0 to debug programs written in C, \*(C+, Fortran and
+Modula\-2.
+.PP
+\&\s-1GDB\s0 is invoked with the shell command \f(CW\*(C`gdb\*(C'\fR. Once started, it reads
+commands from the terminal until you tell it to exit with the \s-1GDB\s0
+command \f(CW\*(C`quit\*(C'\fR or \f(CW\*(C`exit\*(C'\fR. You can get online help from \s-1GDB\s0 itself
+by using the command \f(CW\*(C`help\*(C'\fR.
+.PP
+You can run \f(CW\*(C`gdb\*(C'\fR with no arguments or options; but the most
+usual way to start \s-1GDB\s0 is with one argument or two, specifying an
+executable program as the argument:
+.PP
+.Vb 1
+\& gdb program
+.Ve
+.PP
+You can also start with both an executable program and a core file specified:
+.PP
+.Vb 1
+\& gdb program core
+.Ve
+.PP
+You can, instead, specify a process \s-1ID\s0 as a second argument or use option
+\&\f(CW\*(C`\-p\*(C'\fR, if you want to debug a running process:
+.PP
+.Vb 2
+\& gdb program 1234
+\& gdb \-p 1234
+.Ve
+.PP
+would attach \s-1GDB\s0 to process \f(CW1234\fR. With option \fB\-p\fR you
+can omit the \fIprogram\fR filename.
+.PP
+Here are some of the most frequently needed \s-1GDB\s0 commands:
+.IP "\fBbreak [\fR\fIfile\fR\fB:][\fR\fIfunction\fR\fB|\fR\fIline\fR\fB]\fR" 4
+.IX Item "break [file:][function|line]"
+Set a breakpoint at \fIfunction\fR or \fIline\fR (in \fIfile\fR).
+.IP "\fBrun [\fR\fIarglist\fR\fB]\fR" 4
+.IX Item "run [arglist]"
+Start your program (with \fIarglist\fR, if specified).
+.IP "\fBbt\fR" 4
+.IX Item "bt"
+Backtrace: display the program stack.
+.IP "\fBprint\fR \fIexpr\fR" 4
+.IX Item "print expr"
+Display the value of an expression.
+.IP "\fBc\fR" 4
+.IX Item "c"
+Continue running your program (after stopping, e.g. at a breakpoint).
+.IP "\fBnext\fR" 4
+.IX Item "next"
+Execute next program line (after stopping); step \fIover\fR any
+function calls in the line.
+.IP "\fBedit [\fR\fIfile\fR\fB:]\fR\fIfunction\fR" 4
+.IX Item "edit [file:]function"
+look at the program line where it is presently stopped.
+.IP "\fBlist [\fR\fIfile\fR\fB:]\fR\fIfunction\fR" 4
+.IX Item "list [file:]function"
+type the text of the program in the vicinity of where it is presently stopped.
+.IP "\fBstep\fR" 4
+.IX Item "step"
+Execute next program line (after stopping); step \fIinto\fR any
+function calls in the line.
+.IP "\fBhelp [\fR\fIname\fR\fB]\fR" 4
+.IX Item "help [name]"
+Show information about \s-1GDB\s0 command \fIname\fR, or general information
+about using \s-1GDB.\s0
+.IP "\fBquit\fR" 4
+.IX Item "quit"
+.PD 0
+.IP "\fBexit\fR" 4
+.IX Item "exit"
+.PD
+Exit from \s-1GDB.\s0
+.PP
+For full details on \s-1GDB,\s0
+see \fIUsing \s-1GDB: A\s0 Guide to the \s-1GNU\s0 Source-Level Debugger\fR,
+by Richard M. Stallman and Roland H. Pesch. The same text is available online
+as the \f(CW\*(C`gdb\*(C'\fR entry in the \f(CW\*(C`info\*(C'\fR program.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Any arguments other than options specify an executable
+file and core file (or process \s-1ID\s0); that is, the first argument
+encountered with no
+associated option flag is equivalent to a \fB\-\-se\fR option, and the second,
+if any, is equivalent to a \fB\-c\fR option if it's the name of a file.
+Many options have
+both long and abbreviated forms; both are shown here. The long forms are also
+recognized if you truncate them, so long as enough of the option is
+present to be unambiguous.
+.PP
+The abbreviated forms are shown here with \fB\-\fR and long forms are shown
+with \fB\-\-\fR to reflect how they are shown in \fB\-\-help\fR. However,
+\&\s-1GDB\s0 recognizes all of the following conventions for most options:
+.ie n .IP """\-\-option=\fIvalue\fP""" 4
+.el .IP "\f(CW\-\-option=\f(CIvalue\f(CW\fR" 4
+.IX Item "--option=value"
+.PD 0
+.ie n .IP """\-\-option \fIvalue\fP""" 4
+.el .IP "\f(CW\-\-option \f(CIvalue\f(CW\fR" 4
+.IX Item "--option value"
+.ie n .IP """\-option=\fIvalue\fP""" 4
+.el .IP "\f(CW\-option=\f(CIvalue\f(CW\fR" 4
+.IX Item "-option=value"
+.ie n .IP """\-option \fIvalue\fP""" 4
+.el .IP "\f(CW\-option \f(CIvalue\f(CW\fR" 4
+.IX Item "-option value"
+.ie n .IP """\-\-o=\fIvalue\fP""" 4
+.el .IP "\f(CW\-\-o=\f(CIvalue\f(CW\fR" 4
+.IX Item "--o=value"
+.ie n .IP """\-\-o \fIvalue\fP""" 4
+.el .IP "\f(CW\-\-o \f(CIvalue\f(CW\fR" 4
+.IX Item "--o value"
+.ie n .IP """\-o=\fIvalue\fP""" 4
+.el .IP "\f(CW\-o=\f(CIvalue\f(CW\fR" 4
+.IX Item "-o=value"
+.ie n .IP """\-o \fIvalue\fP""" 4
+.el .IP "\f(CW\-o \f(CIvalue\f(CW\fR" 4
+.IX Item "-o value"
+.PD
+.PP
+All the options and command line arguments you give are processed
+in sequential order. The order makes a difference when the \fB\-x\fR
+option is used.
+.IP "\fB\-\-help\fR" 4
+.IX Item "--help"
+.PD 0
+.IP "\fB\-h\fR" 4
+.IX Item "-h"
+.PD
+List all options, with brief explanations.
+.IP "\fB\-\-symbols=\fR\fIfile\fR" 4
+.IX Item "--symbols=file"
+.PD 0
+.IP "\fB\-s\fR \fIfile\fR" 4
+.IX Item "-s file"
+.PD
+Read symbol table from \fIfile\fR.
+.IP "\fB\-\-write\fR" 4
+.IX Item "--write"
+Enable writing into executable and core files.
+.IP "\fB\-\-exec=\fR\fIfile\fR" 4
+.IX Item "--exec=file"
+.PD 0
+.IP "\fB\-e\fR \fIfile\fR" 4
+.IX Item "-e file"
+.PD
+Use \fIfile\fR as the executable file to execute when
+appropriate, and for examining pure data in conjunction with a core
+dump.
+.IP "\fB\-\-se=\fR\fIfile\fR" 4
+.IX Item "--se=file"
+Read symbol table from \fIfile\fR and use it as the executable
+file.
+.IP "\fB\-\-core=\fR\fIfile\fR" 4
+.IX Item "--core=file"
+.PD 0
+.IP "\fB\-c\fR \fIfile\fR" 4
+.IX Item "-c file"
+.PD
+Use \fIfile\fR as a core dump to examine.
+.IP "\fB\-\-command=\fR\fIfile\fR" 4
+.IX Item "--command=file"
+.PD 0
+.IP "\fB\-x\fR \fIfile\fR" 4
+.IX Item "-x file"
+.PD
+Execute \s-1GDB\s0 commands from \fIfile\fR.
+.IP "\fB\-\-eval\-command=\fR\fIcommand\fR" 4
+.IX Item "--eval-command=command"
+.PD 0
+.IP "\fB\-ex\fR \fIcommand\fR" 4
+.IX Item "-ex command"
+.PD
+Execute given \s-1GDB\s0 \fIcommand\fR.
+.IP "\fB\-\-init\-eval\-command=\fR\fIcommand\fR" 4
+.IX Item "--init-eval-command=command"
+.PD 0
+.IP "\fB\-iex\fR" 4
+.IX Item "-iex"
+.PD
+Execute \s-1GDB\s0 \fIcommand\fR before loading the inferior.
+.IP "\fB\-\-directory=\fR\fIdirectory\fR" 4
+.IX Item "--directory=directory"
+.PD 0
+.IP "\fB\-d\fR \fIdirectory\fR" 4
+.IX Item "-d directory"
+.PD
+Add \fIdirectory\fR to the path to search for source files.
+.IP "\fB\-\-nh\fR" 4
+.IX Item "--nh"
+Do not execute commands from \fI~/.config/gdb/gdbinit\fR,
+\&\fI~/.gdbinit\fR, \fI~/.config/gdb/gdbearlyinit\fR, or
+\&\fI~/.gdbearlyinit\fR
+.IP "\fB\-\-nx\fR" 4
+.IX Item "--nx"
+.PD 0
+.IP "\fB\-n\fR" 4
+.IX Item "-n"
+.PD
+Do not execute commands from any \fI.gdbinit\fR or
+\&\fI.gdbearlyinit\fR initialization files.
+.IP "\fB\-\-quiet\fR" 4
+.IX Item "--quiet"
+.PD 0
+.IP "\fB\-\-silent\fR" 4
+.IX Item "--silent"
+.IP "\fB\-q\fR" 4
+.IX Item "-q"
+.PD
+\&\*(L"Quiet\*(R". Do not print the introductory and copyright messages. These
+messages are also suppressed in batch mode.
+.IP "\fB\-\-batch\fR" 4
+.IX Item "--batch"
+Run in batch mode. Exit with status \f(CW0\fR after processing all the command
+files specified with \fB\-x\fR (and \fI.gdbinit\fR, if not inhibited).
+Exit with nonzero status if an error occurs in executing the \s-1GDB\s0
+commands in the command files.
+.Sp
+Batch mode may be useful for running \s-1GDB\s0 as a filter, for example to
+download and run a program on another computer; in order to make this
+more useful, the message
+.Sp
+.Vb 1
+\& Program exited normally.
+.Ve
+.Sp
+(which is ordinarily issued whenever a program running under \s-1GDB\s0 control
+terminates) is not issued when running in batch mode.
+.IP "\fB\-\-batch\-silent\fR" 4
+.IX Item "--batch-silent"
+Run in batch mode, just like \fB\-\-batch\fR, but totally silent. All \s-1GDB\s0
+output is suppressed (stderr is unaffected). This is much quieter than
+\&\fB\-\-silent\fR and would be useless for an interactive session.
+.Sp
+This is particularly useful when using targets that give \fBLoading section\fR
+messages, for example.
+.Sp
+Note that targets that give their output via \s-1GDB,\s0 as opposed to writing
+directly to \f(CW\*(C`stdout\*(C'\fR, will also be made silent.
+.IP "\fB\-\-args\fR \fIprog\fR \fB[\fR\fIarglist\fR\fB]\fR" 4
+.IX Item "--args prog [arglist]"
+Change interpretation of command line so that arguments following this
+option are passed as arguments to the inferior. As an example, take
+the following command:
+.Sp
+.Vb 1
+\& gdb ./a.out \-q
+.Ve
+.Sp
+It would start \s-1GDB\s0 with \fB\-q\fR, not printing the introductory message. On
+the other hand, using:
+.Sp
+.Vb 1
+\& gdb \-\-args ./a.out \-q
+.Ve
+.Sp
+starts \s-1GDB\s0 with the introductory message, and passes the option to the inferior.
+.IP "\fB\-\-pid=\fR\fIpid\fR" 4
+.IX Item "--pid=pid"
+Attach \s-1GDB\s0 to an already running program, with the \s-1PID\s0 \fIpid\fR.
+.IP "\fB\-\-tui\fR" 4
+.IX Item "--tui"
+Open the terminal user interface.
+.IP "\fB\-\-readnow\fR" 4
+.IX Item "--readnow"
+Read all symbols from the given symfile on the first access.
+.IP "\fB\-\-readnever\fR" 4
+.IX Item "--readnever"
+Do not read symbol files.
+.IP "\fB\-\-return\-child\-result\fR" 4
+.IX Item "--return-child-result"
+\&\s-1GDB\s0's exit code will be the same as the child's exit code.
+.IP "\fB\-\-configuration\fR" 4
+.IX Item "--configuration"
+Print details about \s-1GDB\s0 configuration and then exit.
+.IP "\fB\-\-version\fR" 4
+.IX Item "--version"
+Print version information and then exit.
+.IP "\fB\-\-cd=\fR\fIdirectory\fR" 4
+.IX Item "--cd=directory"
+Run \s-1GDB\s0 using \fIdirectory\fR as its working directory,
+instead of the current directory.
+.IP "\fB\-\-data\-directory=\fR\fIdirectory\fR" 4
+.IX Item "--data-directory=directory"
+.PD 0
+.IP "\fB\-D\fR" 4
+.IX Item "-D"
+.PD
+Run \s-1GDB\s0 using \fIdirectory\fR as its data directory. The data
+directory is where \s-1GDB\s0 searches for its auxiliary files.
+.IP "\fB\-\-fullname\fR" 4
+.IX Item "--fullname"
+.PD 0
+.IP "\fB\-f\fR" 4
+.IX Item "-f"
+.PD
+Emacs sets this option when it runs \s-1GDB\s0 as a subprocess. It tells
+\&\s-1GDB\s0 to output the full file name and line number in a standard,
+recognizable fashion each time a stack frame is displayed (which
+includes each time the program stops). This recognizable format looks
+like two \fB\e032\fR characters, followed by the file name, line number
+and character position separated by colons, and a newline. The
+Emacs-to-GDB interface program uses the two \fB\e032\fR
+characters as a signal to display the source code for the frame.
+.IP "\fB\-b\fR \fIbaudrate\fR" 4
+.IX Item "-b baudrate"
+Set the line speed (baud rate or bits per second) of any serial
+interface used by \s-1GDB\s0 for remote debugging.
+.IP "\fB\-l\fR \fItimeout\fR" 4
+.IX Item "-l timeout"
+Set timeout, in seconds, for remote debugging.
+.IP "\fB\-\-tty=\fR\fIdevice\fR" 4
+.IX Item "--tty=device"
+Run using \fIdevice\fR for your program's standard input and output.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+The full documentation for \s-1GDB\s0 is maintained as a Texinfo manual.
+If the \f(CW\*(C`info\*(C'\fR and \f(CW\*(C`gdb\*(C'\fR programs and \s-1GDB\s0's Texinfo
+documentation are properly installed at your site, the command
+.PP
+.Vb 1
+\& info gdb
+.Ve
+.PP
+should give you access to the complete manual.
+.PP
+\&\fIUsing \s-1GDB: A\s0 Guide to the \s-1GNU\s0 Source-Level Debugger\fR,
+Richard M. Stallman and Roland H. Pesch, July 1991.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (c) 1988\-2023 Free Software Foundation, Inc.
+.PP
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being \*(L"Free Software\*(R" and \*(L"Free Software Needs
+Free Documentation\*(R", with the Front-Cover Texts being \*(L"A \s-1GNU\s0 Manual,\*(R"
+and with the Back-Cover Texts as in (a) below.
+.PP
+(a) The \s-1FSF\s0's Back-Cover Text is: \*(L"You are free to copy and modify
+this \s-1GNU\s0 Manual. Buying copies from \s-1GNU\s0 Press supports the \s-1FSF\s0 in
+developing \s-1GNU\s0 and promoting software freedom.\*(R"