34 #include "filenames.h"
60 #define ALL_SKIPLIST_ENTRIES(E) \
61 for (E = skiplist_entry_chain; E; E = E->next)
63 #define ALL_SKIPLIST_ENTRIES_SAFE(E,TMP) \
64 for (E = skiplist_entry_chain; \
65 E ? (TMP = E->next, 1) : 0; \
81 error (
_(
"No default file now."));
94 Ignore file pending future shared library load? ")))
114 const char *
name = NULL;
122 error (
_(
"No default function now."));
127 error (
_(
"No function found containing current program point %s."),
137 _(
"No function found named %s.\n"), arg);
140 Ignore function pending future shared library load? ")))
156 int num_printable_entries = 0;
166 num_printable_entries++;
168 if (num_printable_entries == 0)
172 Not skipping any files or functions.\n"));
175 _(
"No skiplist entries found with number %s.\n"), arg);
181 num_printable_entries,
208 Skiplist entry should have either a filename or a function name."));
241 error (
_(
"No skiplist entries found with number %s."), arg);
258 error (
_(
"No skiplist entries found with number %s."), arg);
274 skiplist_entry_chain = e->
next;
287 error (
_(
"No skiplist entries found with number %s."), arg);
320 skiplist_entry_chain = e;
336 int searched_for_fullname = 0;
337 const char *fullname = NULL;
340 if (function_name == NULL)
357 if (function_sal->
symtab != NULL
365 && (function_sal->
symtab == NULL
372 if (!searched_for_fullname)
374 if (function_sal->
symtab != NULL)
376 searched_for_fullname = 1;
396 skiplist_entry_chain = 0;
400 Ignore a function while stepping.\n\
401 Usage: skip [FUNCTION NAME]\n\
402 If no function name is given, ignore the current function."),
403 &skiplist,
"skip ", 1, &
cmdlist);
406 Ignore a file while stepping.\n\
407 Usage: skip file [FILENAME]\n\
408 If no filename is given, ignore the current file."),
413 Ignore a function while stepping.\n\
414 Usage: skip function [FUNCTION NAME]\n\
415 If no function name is given, skip the current function."),
420 Enable skip entries. You can specify numbers (e.g. \"skip enable 1 3\"), \
421 ranges (e.g. \"skip enable 4-8\"), or both (e.g. \"skip enable 1 3 4-8\").\n\n\
422 If you don't specify any numbers or ranges, we'll enable all skip entries.\n\n\
423 Usage: skip enable [NUMBERS AND/OR RANGES]"),
427 Disable skip entries. You can specify numbers (e.g. \"skip disable 1 3\"), \
428 ranges (e.g. \"skip disable 4-8\"), or both (e.g. \"skip disable 1 3 4-8\").\n\n\
429 If you don't specify any numbers or ranges, we'll disable all skip entries.\n\n\
430 Usage: skip disable [NUMBERS AND/OR RANGES]"),
434 Delete skip entries. You can specify numbers (e.g. \"skip delete 1 3\"), \
435 ranges (e.g. \"skip delete 4-8\"), or both (e.g. \"skip delete 1 3 4-8\").\n\n\
436 If you don't specify any numbers or ranges, we'll delete all skip entries.\n\n\
437 Usage: skip delete [NUMBERS AND/OR RANGES]"),
441 Display the status of skips. You can specify numbers (e.g. \"skip info 1 3\"), \
442 ranges (e.g. \"skip info 4-8\"), or both (e.g. \"skip info 1 3 4-8\").\n\n\
443 If you don't specify any numbers or ranges, we'll show all skips.\n\n\
444 Usage: skip info [NUMBERS AND/OR RANGES]\n\
445 The \"Type\" column indicates one of:\n\
446 \tfile - ignored file\n\
447 \tfunction - ignored function"));
CORE_ADDR get_last_displayed_addr(void)
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
int function_name_is_marked_for_skip(const char *function_name, const struct symtab_and_line *function_sal)
void ui_out_field_int(struct ui_out *uiout, const char *fldname, int value)
int strcmp_iw(const char *string1, const char *string2)
static struct skiplist_entry * skiplist_entry_chain
int number_is_in_list(const char *list, int number)
struct cleanup * make_cleanup_ui_out_table_begin_end(struct ui_out *ui_out, int nr_cols, int nr_rows, const char *tblid)
static int skiplist_entry_count
int compare_filenames_for_search(const char *filename, const char *search_name)
struct symtab * lookup_symtab(const char *name)
void internal_error(const char *file, int line, const char *fmt,...)
static void skip_enable_command(char *arg, int from_tty)
static void skip_disable_command(char *arg, int from_tty)
struct cmd_list_element * cmdlist
static void add_skiplist_entry(struct skiplist_entry *e)
#define ALL_SKIPLIST_ENTRIES_SAFE(E, TMP)
static void skip_function_command(char *arg, int from_tty)
void ui_out_text(struct ui_out *uiout, const char *string)
void printf_filtered(const char *format,...)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
const char * symtab_to_fullname(struct symtab *s)
#define ALL_SKIPLIST_ENTRIES(E)
static void skip_info(char *arg, int from_tty)
void initialize_file_ftype(void)
struct cleanup * make_cleanup_ui_out_tuple_begin_end(struct ui_out *uiout, const char *id)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
void set_cmd_completer(struct cmd_list_element *cmd, completer_ftype *completer)
void ui_out_message(struct ui_out *uiout, int verbosity, const char *format,...)
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **list)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
struct cmd_list_element * add_info(const char *name, cmd_cfunc_ftype *fun, const char *doc)
struct gdbarch * get_current_arch(void)
int nquery(const char *ctlstr,...)
struct symtab * get_last_displayed_symtab(void)
int last_displayed_sal_is_valid(void)
static void skip_function(const char *name)
struct ui_file * gdb_stderr
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
void get_user_print_options(struct value_print_options *opts)
void ui_out_table_header(struct ui_out *uiout, int width, enum ui_align alignment, const char *col_name, const char *colhdr)
void ui_out_field_string(struct ui_out *uiout, const char *fldname, const char *string)
void ui_out_table_body(struct ui_out *uiout)
struct ui_out * current_uiout
initialize_file_ftype _initialize_step_skip
static void skip_delete_command(char *arg, int from_tty)
void error(const char *fmt,...)
void do_cleanups(struct cleanup *old_chain)
static void skip_file_command(char *arg, int from_tty)
struct skiplist_entry * next