diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-08-09 15:10:09 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-08-09 15:10:09 +0000 |
commit | 25d29d7093f2abd7f7eec5fd9564ad0276489222 (patch) | |
tree | dc983dae05b8f3622cf877ef67122568a733e64c /gdb/cli | |
parent | 9ebf4acf536cf0f7583ac669ee55bcdeb12296b3 (diff) | |
download | gdb-25d29d7093f2abd7f7eec5fd9564ad0276489222.zip gdb-25d29d7093f2abd7f7eec5fd9564ad0276489222.tar.gz gdb-25d29d7093f2abd7f7eec5fd9564ad0276489222.tar.bz2 |
2003-08-09 Andrew Cagney <cagney@redhat.com>
Fix GDB PR cli/926.
* cli/cli-decode.c (add_setshow_uinteger_cmd): New function.
* command.h (add_setshow_uinteger_cmd): Declare.
* frame.c (set_backtrace_cmd): New function.
(show_backtrace_cmd): New function.
* frame.c (_initialize_frame): Replace "set/show
backtrace-below-main" with "set/show backtrace past-main". Add
command "set/show backtrace limit".
(backtrace_past_main): Rename "backtrace_below_main".
(backtrace_limit): New variable.
(get_prev_frame): Update. Check the backtrace_limit.
2003-08-09 Andrew Cagney <cagney@redhat.com>
* gdb.texinfo (Backtrace): Replace "set/show backtrace-below-main"
with "set/show backtrace past-main" and "set/show backtrace
limit".
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.174
diff -u -r1.174 gdb.texinfo
--- doc/gdb.texinfo 8 Aug 2003 01:58:00 -0000 1.174
+++ doc/gdb.texinfo 9 Aug 2003 14:57:10 -0000
@@ -3922,27 +3922,40 @@
value, indicating that your program has stopped at the beginning of the
code for line @code{993} of @code{builtin.c}.
-@kindex set backtrace-below-main
-@kindex show backtrace-below-main
+@kindex set backtrace past-main
+@kindex show backtrace past-main
+@kindex set backtrace limit
+@kindex show backtrace limit
-Most programs have a standard entry point---a place where system libraries
-and startup code transition into user code. For C this is @code{main}.
-When @value{GDBN} finds the entry function in a backtrace it will terminate
-the backtrace, to avoid tracing into highly system-specific (and generally
-uninteresting) code. If you need to examine the startup code, then you can
-change this behavior.
+Most programs have a standard user entry point---a place where system
+libraries and startup code transition into user code. For C this is
+@code{main}. When @value{GDBN} finds the entry function in a backtrace
+it will terminate the backtrace, to avoid tracing into highly
+system-specific (and generally uninteresting) code.
+
+If you need to examine the startup code, or limit the number of levels
+in a backtrace, you can change this behavior:
@table @code
-@item set backtrace-below-main off
+@item set backtrace past-main
+@itemx set backtrace past-main on
+Backtraces will continue past the user entry point.
+
+@item set backtrace past-main off
Backtraces will stop when they encounter the user entry point. This is the
default.
-@item set backtrace-below-main
-@itemx set backtrace-below-main on
-Backtraces will continue past the user entry point to the top of the stack.
+@item show backtrace past-main
+Display the current user entry point backtrace policy.
+
+@item set backtrace limit @var{n}
+@itemx set backtrace limit 0
+@cindex backtrace limit
+Limit the backtrace to @var{n} levels. A value of zero means
+unlimited.
-@item show backtrace-below-main
-Display the current backtrace policy.
+@item show backtrace limit
+Display the current limit on backtrace levels.
@end table
@node Selection
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-decode.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index be516c9..8a0d057 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -448,6 +448,26 @@ add_setshow_boolean_cmd (char *name, c->enums = boolean_enums; } +/* Add element named NAME to both the set and show command LISTs (the + list for set/show or some sublist thereof). CLASS is as in + add_cmd. VAR is address of the variable which will contain the + value. SET_DOC and SHOW_DOR are the documentation strings. */ +void +add_setshow_uinteger_cmd (char *name, + enum command_class class, + unsigned int *var, char *set_doc, char *show_doc, + cmd_sfunc_ftype *set_func, + cmd_sfunc_ftype *show_func, + struct cmd_list_element **set_list, + struct cmd_list_element **show_list) +{ + add_setshow_cmd_full (name, class, var_uinteger, var, + set_doc, show_doc, + set_func, show_func, + set_list, show_list, + NULL, NULL); +} + /* Where SETCMD has already been added, add the corresponding show command to LIST and return a pointer to the added command (not necessarily the head of LIST). */ |