diff options
Diffstat (limited to 'upstream/archlinux/man1/gdb.1')
-rw-r--r-- | upstream/archlinux/man1/gdb.1 | 506 |
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" |