summaryrefslogtreecommitdiff
path: root/gdb/command.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-08-09 15:10:09 +0000
committerAndrew Cagney <cagney@redhat.com>2003-08-09 15:10:09 +0000
commit25d29d7093f2abd7f7eec5fd9564ad0276489222 (patch)
treedc983dae05b8f3622cf877ef67122568a733e64c /gdb/command.h
parent9ebf4acf536cf0f7583ac669ee55bcdeb12296b3 (diff)
downloadbinutils-gdb-25d29d7093f2abd7f7eec5fd9564ad0276489222.tar.gz
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/command.h')
-rw-r--r--gdb/command.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/command.h b/gdb/command.h
index 96c99abcaba..9cadd63d24b 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -262,6 +262,16 @@ extern void add_setshow_boolean_cmd (char *name,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
+extern 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);
+
extern struct cmd_list_element *add_show_from_set (struct cmd_list_element *,
struct cmd_list_element
**);