mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
fde1a9a3ee
In some situations it is possible that a user might not want GDB to try and access source code files, for example, the source code might be stored on a slow to access network file system. It is almost certainly possible that using some combination of 'set directories' and/or 'set substitute-path' a user can trick GDB into being unable to find the source files, but this feels like a rather crude way to solve the problem. In this commit a new option is add that stops GDB from opening and reading the source files. A user can run with source code reading disabled if this is required, then re-enable later if they decide that they now want to view the source code.
208 lines
5.8 KiB
C++
208 lines
5.8 KiB
C++
/* Header file for GDB CLI command implementation library.
|
|
Copyright (C) 2000-2021 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 3 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, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef CLI_CLI_CMDS_H
|
|
#define CLI_CLI_CMDS_H
|
|
|
|
#include "gdbsupport/filestuff.h"
|
|
#include "gdbsupport/gdb_optional.h"
|
|
#include "completer.h"
|
|
|
|
/* 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 detach subcommands. */
|
|
|
|
extern struct cmd_list_element *detachlist;
|
|
|
|
/* Chain containing all defined kill subcommands. */
|
|
|
|
extern struct cmd_list_element *killlist;
|
|
|
|
/* Chain containing all defined stop subcommands. */
|
|
|
|
extern struct cmd_list_element *stoplist;
|
|
|
|
/* 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;
|
|
|
|
/* Chain containing all defined "maintenance flush" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceflushlist;
|
|
|
|
/* Chain containing all defined "maintenance check" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenancechecklist;
|
|
|
|
/* Chain containing all defined "maintenance set" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenance_set_cmdlist;
|
|
|
|
/* Chain containing all defined "maintenance show" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenance_show_cmdlist;
|
|
|
|
extern struct cmd_list_element *setprintlist;
|
|
|
|
extern struct cmd_list_element *showprintlist;
|
|
|
|
/* Chain containing all defined "set print raw" subcommands. */
|
|
|
|
extern struct cmd_list_element *setprintrawlist;
|
|
|
|
/* Chain containing all defined "show print raw" subcommands. */
|
|
|
|
extern struct cmd_list_element *showprintrawlist;
|
|
|
|
/* Chain containing all defined "set print type" subcommands. */
|
|
|
|
extern struct cmd_list_element *setprinttypelist;
|
|
|
|
/* Chain containing all defined "show print type" subcommands. */
|
|
|
|
extern struct cmd_list_element *showprinttypelist;
|
|
|
|
extern struct cmd_list_element *setdebuglist;
|
|
|
|
extern struct cmd_list_element *showdebuglist;
|
|
|
|
extern struct cmd_list_element *setchecklist;
|
|
|
|
extern struct cmd_list_element *showchecklist;
|
|
|
|
/* Chain containing all defined "save" subcommands. */
|
|
|
|
extern struct cmd_list_element *save_cmdlist;
|
|
|
|
/* Chain containing all defined "set source" subcommands. */
|
|
|
|
extern struct cmd_list_element *setsourcelist;
|
|
|
|
/* Chain containing all defined "show source" subcommands. */
|
|
|
|
extern struct cmd_list_element *showsourcelist;
|
|
|
|
/* Limit the call depth of user-defined commands */
|
|
|
|
extern unsigned int max_user_call_depth;
|
|
|
|
/* Exported to gdb/top.c */
|
|
|
|
void init_cmd_lists (void);
|
|
|
|
int is_complete_command (struct cmd_list_element *cmd);
|
|
|
|
/* Exported to gdb/main.c */
|
|
|
|
extern void cd_command (const char *, int);
|
|
|
|
/* Exported to gdb/top.c and gdb/main.c */
|
|
|
|
extern void quit_command (const char *, int);
|
|
|
|
extern void source_script (const char *, int);
|
|
|
|
/* Exported to objfiles.c. */
|
|
|
|
/* The script that was opened. */
|
|
struct open_script
|
|
{
|
|
gdb_file_up stream;
|
|
gdb::unique_xmalloc_ptr<char> full_path;
|
|
|
|
open_script (gdb_file_up &&stream_,
|
|
gdb::unique_xmalloc_ptr<char> &&full_path_)
|
|
: stream (std::move (stream_)),
|
|
full_path (std::move (full_path_))
|
|
{
|
|
}
|
|
};
|
|
|
|
extern gdb::optional<open_script>
|
|
find_and_open_script (const char *file, int search_path);
|
|
|
|
/* Command tracing state. */
|
|
|
|
extern int source_verbose;
|
|
extern bool trace_commands;
|
|
|
|
/* Common code for the "with" and "maintenance with" commands.
|
|
SET_CMD_PREFIX is the spelling of the corresponding "set" command
|
|
prefix: i.e., "set " or "maintenance set ". SETLIST is the command
|
|
element for the same "set" command prefix. */
|
|
extern void with_command_1 (const char *set_cmd_prefix,
|
|
cmd_list_element *setlist,
|
|
const char *args, int from_tty);
|
|
|
|
/* Common code for the completers of the "with" and "maintenance with"
|
|
commands. SET_CMD_PREFIX is the spelling of the corresponding
|
|
"set" command prefix: i.e., "set " or "maintenance set ". */
|
|
extern void with_command_completer_1 (const char *set_cmd_prefix,
|
|
completion_tracker &tracker,
|
|
const char *text);
|
|
|
|
#endif /* CLI_CLI_CMDS_H */
|