home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ggggddddbbbb((((1111)))) GGGGNNNNUUUU TTTToooooooollllssss ((((4444nnnnoooovvvv1111999999991111)))) ggggddddbbbb((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- gdb - The GNU Debugger
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ggggddddbbbb [----hhhheeeellllpppp] [----nnnnxxxx] [----qqqq] [----bbbbaaaattttcccchhhh] [----ccccdddd====_d_i_r] [----ffff] [----bbbb _b_p_s]
- [----ttttttttyyyy====_d_e_v] [----ssss _s_y_m_f_i_l_e] [----eeee _p_r_o_g] [----sssseeee _p_r_o_g] [----cccc _c_o_r_e]
- [----xxxx _c_m_d_s] [----dddd _d_i_r] [_p_r_o_g[_c_o_r_e|_p_r_o_c_I_D]]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The purpose of a debugger such as GDB is to allow you to see
- what is going on ``inside'' another program while it
- executes-or what another program was doing at the moment it
- crashed.
-
- GDB can do four main kinds of things (plus other things in
- support of these) to help you catch bugs in the act:
-
-
- o+ Start your program, specifying anything that might
- affect its behavior.
-
-
- o+ Make your program stop on specified conditions.
-
-
- o+ Examine what has happened, when your program has
- stopped.
-
-
- o+ Change things in your program, so you can experiment
- with correcting the effects of one bug and go on to
- learn about another.
-
- You can use GDB to debug programs written in C, C++, and
- Modula-2. Fortran support will be added when a GNU Fortran
- compiler is ready.
-
- GDB is invoked with the shell command ggggddddbbbb. Once started, it
- reads commands from the terminal until you tell it to exit
- with the GDB command qqqquuuuiiiitttt. You can get online help from ggggddddbbbb
- itself by using the command hhhheeeellllpppp.
-
- You can run ggggddddbbbb with no arguments or options; but the most
- usual way to start GDB is with one argument or two,
- specifying an executable program as the argument:
-
- gdb program
-
-
- You can also start with both an executable program and a
- core file specified:
-
-
-
-
- Page 1 (printed 3/28/94)
-
-
-
-
-
-
- ggggddddbbbb((((1111)))) GGGGNNNNUUUU TTTToooooooollllssss ((((4444nnnnoooovvvv1111999999991111)))) ggggddddbbbb((((1111))))
-
-
-
- gdb program core
-
-
- You can, instead, specify a process ID as a second argument,
- if you want to debug a running process:
-
- gdb program 1234
-
-
- would attach GDB to process 1111222233334444 (unless you also have a
- file named `1111222233334444'; GDB does check for a core file first).
-
- Here are some of the most frequently needed GDB commands:
-
- bbbbrrrreeeeaaaakkkk [_f_i_l_e::::]_f_u_n_c_t_i_o_n
- Set a breakpoint at _f_u_n_c_t_i_o_n (in _f_i_l_e).
-
- rrrruuuunnnn [_a_r_g_l_i_s_t]
- Start your program (with _a_r_g_l_i_s_t, if specified).
-
- bbbbtttt Backtrace: display the program stack.
-
- pppprrrriiiinnnntttt _e_x_p_r
- Display the value of an expression.
-
- cccc Continue running your program (after stopping, e.g. at
- a breakpoint).
-
- nnnneeeexxxxtttt Execute next program line (after stopping); step _o_v_e_r
- any function calls in the line.
-
- sssstttteeeepppp Execute next program line (after stopping); step _i_n_t_o
- any function calls in the line.
-
- hhhheeeellllpppp [_n_a_m_e]
- Show information about GDB command _n_a_m_e, or general
- information about using GDB.
-
- qqqquuuuiiiitttt Exit from GDB.
-
- For full details on GDB, see _U_s_i_n_g _G_D_B: _A _G_u_i_d_e _t_o _t_h_e _G_N_U
- _S_o_u_r_c_e-_L_e_v_e_l _D_e_b_u_g_g_e_r, by Richard M. Stallman and Roland H.
- Pesch. The same text is available online as the ggggddddbbbb entry
- in the iiiinnnnffffoooo program.
-
- OOOOPPPPTTTTIIIIOOOONNNNSSSS
- Any arguments other than options specify an executable file
- and core file (or process ID); that is, the first argument
- encountered with no associated option flag is equivalent to
- a `----sssseeee' option, and the second, if any, is equivalent to a
- `----cccc' option if it's the name of a file. Many options have
- both long and short forms; both are shown here. The long
-
-
-
- Page 2 (printed 3/28/94)
-
-
-
-
-
-
- ggggddddbbbb((((1111)))) GGGGNNNNUUUU TTTToooooooollllssss ((((4444nnnnoooovvvv1111999999991111)))) ggggddddbbbb((((1111))))
-
-
-
- forms are also recognized if you truncate them, so long as
- enough of the option is present to be unambiguous. (If you
- prefer, you can flag option arguments with `++++' rather than
- `----', though we illustrate the more usual convention.)
-
- All the options and command line arguments you give are
- processed in sequential order. The order makes a difference
- when the `----xxxx' option is used.
-
-
- ----hhhheeeellllpppp
-
- ----hhhh List all options, with brief explanations.
-
-
- ----ssssyyyymmmmbbbboooollllssss====_f_i_l_e
-
- ----ssss _f_i_l_e
- Read symbol table from file _f_i_l_e.
-
-
- ----eeeexxxxeeeecccc====_f_i_l_e
-
- ----eeee _f_i_l_e
- Use file _f_i_l_e as the executable file to execute when
- appropriate, and for examining pure data in conjunction
- with a core dump.
-
-
- ----sssseeee====_f_i_l_e
- Read symbol table from file _f_i_l_e and use it as the
- executable file.
-
-
- ----ccccoooorrrreeee====_f_i_l_e
-
- ----cccc _f_i_l_e
- Use file _f_i_l_e as a core dump to examine.
-
-
- ----ccccoooommmmmmmmaaaannnndddd====_f_i_l_e
-
- ----xxxx _f_i_l_e
- Execute GDB commands from file _f_i_l_e.
-
-
- ----ddddiiiirrrreeeeccccttttoooorrrryyyy====_d_i_r_e_c_t_o_r_y
-
- ----dddd _d_i_r_e_c_t_o_r_y
- Add _d_i_r_e_c_t_o_r_y to the path to search for source files.
-
- ----nnnnxxxx
-
-
-
- Page 3 (printed 3/28/94)
-
-
-
-
-
-
- ggggddddbbbb((((1111)))) GGGGNNNNUUUU TTTToooooooollllssss ((((4444nnnnoooovvvv1111999999991111)))) ggggddddbbbb((((1111))))
-
-
-
- ----nnnn Do not execute commands from any `....ggggddddbbbbiiiinnnniiiitttt'
- initialization files. Normally, the commands in these
- files are executed after all the command options and
- arguments have been processed.
-
-
-
- ----qqqquuuuiiiieeeetttt
-
- ----qqqq ``Quiet''. Do not print the introductory and copyright
- messages. These messages are also suppressed in batch
- mode.
-
-
- ----bbbbaaaattttcccchhhh
- Run in batch mode. Exit with status 0000 after processing
- all the command files specified with `----xxxx' (and
- `....ggggddddbbbbiiiinnnniiiitttt', if not inhibited). Exit with nonzero
- status if an error occurs in executing the GDB commands
- in the command files.
-
- Batch mode may be useful for running GDB as a filter,
- for example to download and run a program on another
- computer; in order to make this more useful, the
- message
-
- Program exited normally.
-
-
- (which is ordinarily issued whenever a program running
- under GDB control terminates) is not issued when
- running in batch mode.
-
-
- ----ccccdddd====_d_i_r_e_c_t_o_r_y
- Run GDB using _d_i_r_e_c_t_o_r_y as its working directory,
- instead of the current directory.
-
-
- ----ffffuuuullllllllnnnnaaaammmmeeee
-
- ----ffff Emacs sets this option when it runs GDB as a
- subprocess. It tells GDB 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 ` 33332222' 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 ` 33332222' characters as a signal to
- display the source code for the frame.
-
-
-
-
- Page 4 (printed 3/28/94)
-
-
-
-
-
-
- ggggddddbbbb((((1111)))) GGGGNNNNUUUU TTTToooooooollllssss ((((4444nnnnoooovvvv1111999999991111)))) ggggddddbbbb((((1111))))
-
-
-
- ----bbbb _b_p_s
- Set the line speed (baud rate or bits per second) of
- any serial interface used by GDB for remote debugging.
-
-
- ----ttttttttyyyy====_d_e_v_i_c_e
- Run using _d_e_v_i_c_e for your program's standard input and
- output.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- `ggggddddbbbb' entry in iiiinnnnffffoooo; _U_s_i_n_g _G_D_B: _A _G_u_i_d_e _t_o _t_h_e _G_N_U _S_o_u_r_c_e-
- _L_e_v_e_l _D_e_b_u_g_g_e_r, Richard M. Stallman and Roland H. Pesch,
- July 1991.
-
- CCCCOOOOPPPPYYYYIIIINNNNGGGG
- Copyright (c) 1991 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies
- of this manual provided the copyright notice and this
- permission notice are preserved on all copies.
-
- Permission is granted to copy and distribute modified
- versions of this manual under the conditions for verbatim
- copying, provided that the entire resulting derived work is
- distributed under the terms of a permission notice identical
- to this one.
-
- Permission is granted to copy and distribute translations of
- this manual into another language, under the above
- conditions for modified versions, except that this
- permission notice may be included in translations approved
- by the Free Software Foundation instead of in the original
- English.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 5 (printed 3/28/94)
-
-
-
-