
* cli/cli-cmds.c (source_verbose, trace_commands): New variables. (source_script): New function. (source_verbose_cleanup): New function. (source_command): Move old contents to source_script. Make function static. Parse -v option and call source_script. (init_cli_cmds): Update source command help. Add 'set trace-commands' command. * cli/cli-script.c (command_next_depth): New static variable. (suppress_next_print_command_trace): New static variable. (reset_command_nest_depth): New function. (print_command_trace): New function. (execute_control_command): Split the continue_control and break_control cases, add calls to print_command_trace and count the nest depth. (while_command): Set suppress_next_print_command_trace. (if_command): Likewise. * top.c (execute_command): Call print_command_trace. * cli/cli-cmds.h (source_verbose, trace_commands): New extern variables. (source_command): Change to source_script. * main.c (captued_main): Use source_script instead of source_command. * top.h (source_command): Change to source_script. * event-top.c (display_gdb_prompt): Call reset_command_nest_depth. * cli/cli-script.h (print_command_trace): Export. (reset_command_nest_depth): Likewise. docs/ * gdb.texinfo (Optional warnings and messages): Add 'set/show trace-commands'. (Command files): Add '-v' to source command. testsuite/ * gdb.base/default.exp: Update source command error message. * gdb.base/help.exp: Update 'help source' message.
130 lines
3.5 KiB
C
130 lines
3.5 KiB
C
/* Header file for GDB CLI command implementation library.
|
|
Copyright (c) 2000 Free Software Foundation, Inc.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA. */
|
|
|
|
#if !defined (CLI_CMDS_H)
|
|
#define CLI_CMDS_H 1
|
|
|
|
/* Chain containing all defined commands. */
|
|
|
|
extern struct cmd_list_element *cmdlist;
|
|
|
|
/* Chain containing all defined info subcommands. */
|
|
|
|
extern struct cmd_list_element *infolist;
|
|
|
|
/* Chain containing all defined enable subcommands. */
|
|
|
|
extern struct cmd_list_element *enablelist;
|
|
|
|
/* Chain containing all defined disable subcommands. */
|
|
|
|
extern struct cmd_list_element *disablelist;
|
|
|
|
/* Chain containing all defined delete subcommands. */
|
|
|
|
extern struct cmd_list_element *deletelist;
|
|
|
|
/* Chain containing all defined toggle subcommands. */
|
|
|
|
extern struct cmd_list_element *togglelist;
|
|
|
|
/* Chain containing all defined stop subcommands. */
|
|
|
|
extern struct cmd_list_element *stoplist;
|
|
|
|
/* Chain containing all defined "enable breakpoint" subcommands. */
|
|
|
|
extern struct cmd_list_element *enablebreaklist;
|
|
|
|
/* Chain containing all defined set subcommands */
|
|
|
|
extern struct cmd_list_element *setlist;
|
|
|
|
/* Chain containing all defined unset subcommands */
|
|
|
|
extern struct cmd_list_element *unsetlist;
|
|
|
|
/* Chain containing all defined show subcommands. */
|
|
|
|
extern struct cmd_list_element *showlist;
|
|
|
|
/* Chain containing all defined \"set history\". */
|
|
|
|
extern struct cmd_list_element *sethistlist;
|
|
|
|
/* Chain containing all defined \"show history\". */
|
|
|
|
extern struct cmd_list_element *showhistlist;
|
|
|
|
/* Chain containing all defined \"unset history\". */
|
|
|
|
extern struct cmd_list_element *unsethistlist;
|
|
|
|
/* Chain containing all defined maintenance subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenancelist;
|
|
|
|
/* Chain containing all defined "maintenance info" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceinfolist;
|
|
|
|
/* Chain containing all defined "maintenance print" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceprintlist;
|
|
|
|
extern struct cmd_list_element *setprintlist;
|
|
|
|
extern struct cmd_list_element *showprintlist;
|
|
|
|
extern struct cmd_list_element *setdebuglist;
|
|
|
|
extern struct cmd_list_element *showdebuglist;
|
|
|
|
extern struct cmd_list_element *setchecklist;
|
|
|
|
extern struct cmd_list_element *showchecklist;
|
|
|
|
/* Exported to gdb/top.c */
|
|
|
|
void init_cmd_lists (void);
|
|
|
|
void init_cli_cmds (void);
|
|
|
|
int is_complete_command (struct cmd_list_element *cmd);
|
|
|
|
/* Exported to gdb/main.c */
|
|
|
|
extern void cd_command (char *, int);
|
|
|
|
/* Exported to gdb/top.c and gdb/main.c */
|
|
|
|
extern void quit_command (char *, int);
|
|
|
|
extern void source_script (char *, int);
|
|
|
|
/* Used everywhere whenever at least one parameter is required and
|
|
none is specified. */
|
|
|
|
extern NORETURN void error_no_arg (char *) ATTR_NORETURN;
|
|
|
|
/* Command tracing state. */
|
|
|
|
extern int source_verbose;
|
|
extern int trace_commands;
|
|
|
|
#endif /* !defined (CLI_CMDS_H) */
|