67 static void step_1 (
int,
int,
const char *);
69 #define ERROR_NO_INFERIOR \ 70 if (!target_has_execution) error (_("The program is not being run.")); 124 if (terminal_name != NULL && *terminal_name !=
'\0')
153 if (inferior_io_terminal == NULL)
154 inferior_io_terminal =
"";
156 _(
"Terminal for future runs of program being debugged " 157 "is \"%s\".\n"), inferior_io_terminal);
231 inf->cwd.reset (xstrdup (
cwd));
264 You have not set the inferior's current working directory.\n\ 265 The inferior will inherit GDB's cwd if native debugging, or the remote\n\ 266 server's cwd if remote debugging.\n"));
269 _(
"Current working directory that will be used " 270 "when starting the inferior is \"%s\".\n"),
cwd);
287 static const char special[] =
"\"!&*|[]{}<>?`~^=;, \t\n";
288 static const char quote =
'"';
293 static const char special[] =
"\"!#$&*()\\|[]{}<>?'`~^; \t\n";
294 static const char quote =
'\'';
301 for (i = 0; i <
argc; ++i)
302 length += 3 * strlen (
argv[i]) + 1 + 2 * (
argv[i][0] ==
'\0');
304 result = (
char *)
xmalloc (length);
307 for (i = 0; i <
argc; ++i)
313 if (
argv[i][0] ==
'\0')
323 if (strpbrk (
argv[i], special))
329 for (cp =
argv[i]; *cp; ++cp)
345 if (strchr (special, *cp) != NULL)
366 for (i = 0; i <
argc; ++i)
368 char *cp = strchr (
argv[i],
' ');
370 cp = strchr (
argv[i],
'\t');
372 cp = strchr (
argv[i],
'\n');
374 error (
_(
"can't handle command-line " 375 "argument containing whitespace"));
376 length += strlen (
argv[i]) + 1;
379 result = (
char *)
xmalloc (length);
381 for (i = 0; i <
argc; ++i)
384 strcat (result,
" ");
385 strcat (result,
argv[i]);
415 while (p >
args && isspace (p[-1]))
464 const unsigned solib_add_generation
479 warning (
_(
"platform-specific solib_create_inferior_hook did " 480 "not load initial shared libraries."));
519 && !
query (
_(
"The program being debugged has been started already.\n\ 520 Start it from the beginning? ")))
521 error (
_(
"Program not restarted."));
534 error (
_(
"Asynchronous execution not supported on this target."));
566 const char *exec_file;
595 args = stripped.get ();
605 error (
_(
"The target does not support running in non-stop mode."));
701 error (
_(
"No symbol table loaded. Use the \"file\" command."));
742 error (
_(
"Cannot execute this command without a live selected thread."));
753 error (
_(
"Cannot execute this command while looking at trace frames."));
761 error (
_(
"Cannot execute this command while " 762 "the selected thread is running."));
830 args = stripped.get ();
837 args +=
sizeof (
"-a") - 1;
844 error (
_(
"`-a' is meaningless in all-stop mode."));
846 if (args != NULL && all_threads)
847 error (
_(
"Can't resume all threads and specify " 848 "proceed count simultaneously."));
885 if (!stopped && from_tty)
888 (
"Not stopped at any breakpoint; argument ignored.\n");
929 step_1 (0, 0, count_string);
937 step_1 (1, 0, count_string);
945 step_1 (0, 1, count_string);
951 step_1 (1, 1, count_string);
957 int thread = * (
int *) arg;
1046 count_string = stripped.get ();
1098 if (--sm->
count > 0)
1186 error (
_(
"Cannot find bounds of current function"));
1190 "\nwhich has no line number information.\n"),
1235 arg = stripped.get ();
1242 std::vector<symtab_and_line> sals
1244 if (sals.size () != 1)
1245 error (
_(
"Unreasonable jump request"));
1249 if (sal.
symtab == 0 && sal.
pc == 0)
1250 error (
_(
"No source file has been specified."));
1257 if (fn != NULL && sfn != fn)
1259 if (!
query (
_(
"Line %d is not in `%s'. Jump anyway? "), sal.
line,
1262 error (
_(
"Not confirmed."));
1276 if (!
query (
_(
"WARNING!!! Destination is in " 1277 "unmapped overlay! Jump anyway? ")))
1279 error (
_(
"Not confirmed."));
1303 enum gdb_signal oursig;
1315 signum_exp = stripped.get ();
1327 if (oursig == GDB_SIGNAL_UNKNOWN)
1333 oursig = GDB_SIGNAL_0;
1348 int must_confirm = 0;
1375 && !
query (
_(
"Continuing thread %s (the current thread) with specified signal will\n" 1376 "still deliver the signals noted above to their respective threads.\n" 1377 "Continue anyway? "),
1379 error (
_(
"Not confirmed."));
1384 if (oursig == GDB_SIGNAL_0)
1400 enum gdb_signal oursig;
1408 if (signum_exp == NULL)
1416 if (oursig == GDB_SIGNAL_UNKNOWN)
1422 oursig = GDB_SIGNAL_0;
1427 if (oursig != GDB_SIGNAL_0
1429 error (
_(
"Signal handling set to not pass this signal to the program."));
1547 if (msymbol.
minsym == NULL)
1548 error (
_(
"Execution is not within a known function."));
1588 arg = stripped.get ();
1613 arg = stripped.get ();
1683 if (rv->
value != NULL)
1688 uiout->
text (
"Value returned is ");
1689 uiout->
field_fmt (
"gdb-result-var",
"$%d",
1691 uiout->
text (
" = ");
1703 uiout->
text (
"Value returned has type: ");
1704 uiout->
field_string (
"return-type", type_name.c_str ());
1706 uiout->
text (
" Cannot determine contents\n");
1807 if (rv->
type == NULL)
1809 _(
"finish_command: function has no target type"));
1817 if (rv->
value != NULL)
1884 error (
_(
"Cannot find bounds of current function"));
1970 while (start != frame);
1993 arg = stripped.get ();
1998 error (
_(
"The \"finish\" command does not take any arguments."));
2002 error (
_(
"\"finish\" not meaningful in the outermost frame."));
2052 && !
query (
_(
"warning: Function %s does not return normally.\n" 2053 "Try to finish anyway? "),
2055 error (
_(
"Not confirmed."));
2069 error (
_(
"Cannot find the caller frame."));
2100 error (
_(
"Invalid selected thread."));
2102 error (
_(
"Selected thread is running."));
2122 "that has since been deleted.\n"));
2139 "registers\" for more information.\n"));
2168 for (
int idx = 0; envp[idx] != NULL; ++idx)
2179 const char *p, *val;
2186 p = (
char *) strchr (arg,
'=');
2187 val = (
char *) strchr (arg,
' ');
2189 if (p != 0 && val != 0)
2203 else if (val != 0 && p == 0)
2209 if (p == 0 || p[1] == 0)
2213 p = arg + strlen (arg);
2219 while (*val ==
' ' || *val ==
'\t')
2223 while (p != arg && (p[-1] ==
' ' || p[-1] ==
'\t'))
2230 "\"%s\" to null value.\n"),
2245 if (!from_tty ||
query (
_(
"Delete all environment variables? ")))
2277 exec_path = xstrdup (env);
2295 int print_raw_format;
2319 if (print_raw_format)
2339 if (print_raw_format &&
TYPE_VECTOR (regtype) == 0)
2368 int regnum,
int print_all)
2374 for (i = 0; i < numregs; i++)
2416 error (
_(
"The program has no registers now."));
2427 while (*addr_exp !=
'\0')
2437 if (addr_exp[0] ==
'$')
2439 if (isspace ((*addr_exp)) || (*addr_exp) ==
'\0')
2440 error (
_(
"Missing register name"));
2444 while ((*addr_exp) !=
'\0' && !isspace ((*addr_exp)))
2491 if (strncmp (start,
reggroup_name (group), end - start) == 0)
2513 error (
_(
"Invalid register `%.*s'"), (
int) (end - start), start);
2540 int printed_something = 0;
2549 printed_something = 1;
2553 if (!printed_something)
2562 error (
_(
"The program has no registers now."));
2577 error (
_(
"The program is not being run."));
2578 if (!
query (
_(
"Kill the program being debugged? ")))
2579 error (
_(
"Not confirmed."));
2596 bfd_cache_close_all ();
2609 int pid = * (
int *) arg;
2806 if (
query (
_(
"A program is being debugged already. Kill it? ")))
2809 error (
_(
"Not killed."));
2817 args = stripped.get ();
2824 error (
_(
"Cannot attach to this target in non-stop mode"));
2829 attach_target = NULL;
2944 a->
args = xstrdup (
"");
2973 error (
_(
"The program is not being run."));
3059 int all_threads = 0;
3068 error (
_(
"-a is meaningless in all-stop mode."));
3081 int printed_something = 0;
3090 printed_something = 1;
3094 if (!printed_something)
3096 "available for this processor.\n");
3105 error (
_(
"The program has no registers now."));
3115 "name of an unset subcommand.\n"));
3131 error (
_(
"Not supported on this target."));
3202 #define RUN_ARGS_HELP \ 3203 "You may specify arguments to give it.\n\ 3204 Args may include \"*\", or \"[...]\"; they are expanded using the\n\ 3205 shell that will start the program (specified by the \"$SHELL\" environment\n\ 3206 variable). Input and output redirection with \">\", \"<\", or \">>\"\n\ 3207 are also allowed.\n\ 3209 With no arguments, uses arguments last specified (with \"run\" or \n\ 3210 \"set args\"). To cancel previous arguments and run with no arguments,\n\ 3211 use \"set args\" without arguments.\n\ 3213 To start the inferior without using a shell, use \"set startup-with-shell off\"." 3220 const char *cmd_name;
3225 Set terminal for future runs of program being debugged."),
_(
"\ 3226 Show terminal for future runs of program being debugged."),
_(
"\ 3227 Usage: set inferior-tty [TTY]\n\n\ 3228 If TTY is omitted, the default behavior of using the same terminal as GDB\n\ 3233 cmd_name =
"inferior-tty";
3241 Set argument list to give program being debugged when it is started."),
_(
"\ 3242 Show argument list to give program being debugged when it is started."),
_(
"\ 3243 Follow this command with any number of args, to be passed to the program."),
3254 Set the current working directory to be used when the inferior is started.\n\ 3255 Changing this setting does not have any effect on inferiors that are\n\ 3258 Show the current working directory that is used when the inferior is started."),
3260 Use this command to change the current working directory that will be used\n\ 3261 when the inferior is started. This setting does not affect GDB's current\n\ 3262 working directory."),
3271 The environment to give the program, or one variable's value.\n\ 3272 With an argument VAR, prints the value of environment variable VAR to\n\ 3273 give the program being debugged. With no arguments, prints the entire\n\ 3274 environment to be given to the program."), &
showlist);
3278 _(
"Complement to certain \"set\" commands."),
3282 Cancel environment variable VAR for the program.\n\ 3283 This does not affect the program until the next \"run\" command."),
3288 Set environment variable value to give the program.\n\ 3289 Arguments are VAR VALUE where VAR is variable name and VALUE is value.\n\ 3290 VALUES of environment variables are uninterpreted strings.\n\ 3291 This does not affect the program until the next \"run\" command."),
3296 Add directory DIR(s) to beginning of search path for object files.\n\ 3297 $cwd in the path means the current working directory.\n\ 3298 This path is equivalent to the $PATH shell variable. It is a list of\n\ 3299 directories, separated by colons. These directories are searched to find\n\ 3300 fully linked executable files and separately compiled object files as \ 3305 Current search path for finding object files.\n\ 3306 $cwd in the path means the current working directory.\n\ 3307 This path is equivalent to the $PATH shell variable. It is a list of\n\ 3308 directories, separated by colons. These directories are searched to find\n\ 3309 fully linked executable files and separately compiled object files as \ 3315 _(
"Kill execution of program being debugged."),
3319 Attach to a process or file outside of GDB.\n\ 3320 This command attaches to another target, of the same type as your last\n\ 3321 \"target\" command (\"info files\" will show your target stack).\n\ 3322 The command may take as argument a process id or a device file.\n\ 3323 For a process id, you must have permission to send the process a signal,\n\ 3324 and it must have the same effective uid as the debugger.\n\ 3325 When using \"attach\" with a process id, the debugger finds the\n\ 3326 program running in the process, looking first in the current working\n\ 3327 directory, or (if not found there) using the source file search path\n\ 3328 (see the \"directory\" command). You can also use the \"file\" command\n\ 3329 to specify the program, and to load its symbol table."));
3332 Detach a process or file previously attached.\n\ 3333 If a process, it is no longer traced, and it continues its execution. If\n\ 3334 you were debugging a file, the file is closed and gdb no longer accesses it."),
3338 Disconnect from a target.\n\ 3339 The target will wait for another debugger to connect. Not available for\n\ 3343 Continue program with the specified signal.\n\ 3344 Usage: signal SIGNAL\n\ 3345 The SIGNAL argument is processed the same as the handle command.\n\ 3347 An argument of \"0\" means continue the program without sending it a signal.\n\ 3348 This is useful in cases where the program stopped because of a signal,\n\ 3349 and you want to resume the program while discarding the signal.\n\ 3351 In a multi-threaded program the signal is delivered to, or discarded from,\n\ 3352 the current thread only."));
3356 Queue a signal to be delivered to the current thread when it is resumed.\n\ 3357 Usage: queue-signal SIGNAL\n\ 3358 The SIGNAL argument is processed the same as the handle command.\n\ 3359 It is an error if the handling state of SIGNAL is \"nopass\".\n\ 3361 An argument of \"0\" means remove any currently queued signal from\n\ 3362 the current thread. This is useful in cases where the program stopped\n\ 3363 because of a signal, and you want to resume it while discarding the signal.\n\ 3365 In a multi-threaded program the signal is queued with, or discarded from,\n\ 3366 the current thread only."));
3370 Step one instruction exactly.\n\ 3372 Argument N means step N times (or till program stops for another \ 3377 Step one instruction, but proceed through subroutine calls.\n\ 3379 Argument N means step N times (or till program stops for another \ 3384 Execute until selected stack frame returns.\n\ 3386 Upon return, the value returned is printed and put in the value history."));
3390 Step program, proceeding through subroutine calls.\n\ 3392 Unlike \"step\", if the current source line calls a subroutine,\n\ 3393 this command does not enter the subroutine, but instead steps over\n\ 3394 the call, in effect treating it as a single source line."));
3398 Step program until it reaches a different source line.\n\ 3400 Argument N means step N times (or till program stops for another \ 3405 Execute until the program reaches a source line greater than the current\n\ 3406 or a specified location (same args as break command) within the current \ 3412 Continue the program up to the given location (same form as args for break \ 3414 Execution will also stop upon exit from the current stack frame."));
3418 Continue program being debugged at specified line or address.\n\ 3419 Usage: jump <location>\n\ 3420 Give as argument either LINENUM or *ADDR, where ADDR is an expression\n\ 3421 for an address to start at."));
3426 Continue program being debugged, after signal or breakpoint.\n\ 3427 Usage: continue [N]\n\ 3428 If proceeding from breakpoint, a number N may be used as an argument,\n\ 3429 which means to set the ignore count of that breakpoint to N - 1 (so that\n\ 3430 the breakpoint won't break until the Nth time it is reached).\n\ 3432 If non-stop mode is enabled, continue only the current thread,\n\ 3433 otherwise all the threads in the program are continued. To \n\ 3434 continue all stopped threads in non-stop mode, use the -a option.\n\ 3435 Specifying -a and an ignore count simultaneously is an error."));
3440 Start debugged program.\n" 3446 Start the debugged program stopping at the beginning of the main procedure.\n" 3451 Start the debugged program stopping at the first instruction.\n" 3456 _(
"Interrupt the execution of the debugged program.\n\ 3457 If non-stop mode is enabled, interrupt only the current thread,\n\ 3458 otherwise all the threads in the program are stopped. To \n\ 3459 interrupt all running threads in non-stop mode, use the -a option."));
3462 List of integer registers and their contents, for selected stack frame.\n\ 3463 One or more register names as argument means describe the given registers.\n\ 3464 One or more register group names as argument means describe the registers\n\ 3465 in the named register groups."));
3470 List of all registers and their contents, for selected stack frame.\n\ 3471 One or more register names as argument means describe the given registers.\n\ 3472 One or more register group names as argument means describe the registers\n\ 3473 in the named register groups."));
3477 _(
"Execution status of the program."));
3480 _(
"Print the status of the floating point unit\n"));
3483 _(
"Print the status of the vector unit\n"));
3487 Show /proc process information about any running process.\n\ 3488 Specify any process id, or use the program being debugged by default."),
3489 &info_proc_cmdlist,
"info proc ",
3493 List of mapped memory regions."),
3494 &info_proc_cmdlist);
3497 List process info from /proc/PID/stat."),
3498 &info_proc_cmdlist);
3501 List process info from /proc/PID/status."),
3502 &info_proc_cmdlist);
3505 List current working directory of the process."),
3506 &info_proc_cmdlist);
3509 List command line arguments of the process."),
3510 &info_proc_cmdlist);
3513 List absolute filename for executable of the process."),
3514 &info_proc_cmdlist);
3517 List all available /proc info."),
3518 &info_proc_cmdlist);
void error_no_arg(const char *why)
void get_last_target_status(ptid_t *ptidp, struct target_waitstatus *status)
struct gdbarch * target_gdbarch(void)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t err
static void attach_command_continuation(void *args, int err)
#define target_can_async_p()
const char * get(const char *var) const
void(* deprecated_detach_hook)(void)
const char * user_reg_map_regnum_to_name(struct gdbarch *gdbarch, int regnum)
void no_shared_libraries(const char *ignored, int from_tty)
struct value * get_return_value(struct value *function, struct type *value_type)
#define target_has_registers
void reopen_exec_file(void)
struct return_value_info return_value
ptid_t user_visible_resume_ptid(int step)
struct thread_info * find_thread_ptid(ptid_t ptid)
static void starti_command(const char *args, int from_tty)
void set_ignore_count(int bptnum, int count, int from_tty)
static void queue_signal_command(const char *signum_exp, int from_tty)
struct frame_info * get_selected_frame(const char *message)
void target_stop(ptid_t ptid)
void delete_longjmp_breakpoint_cleanup(void *arg)
void detach_command(const char *args, int from_tty)
CORE_ADDR step_range_start
CORE_ADDR get_frame_pc(struct frame_info *frame)
#define SYMBOL_PRINT_NAME(symbol)
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options)
struct frame_info * get_current_frame(void)
void post_create_inferior(struct target_ops *target, int from_tty)
#define target_files_info()
void field_string(const char *fldname, const char *string)
static void attach_command_continuation_free_args(void *args)
static void set_step_frame(void)
int ptid_get_pid(const ptid_t &ptid)
void target_require_runnable(void)
enum gdb_signal gdb_signal_from_command(int num)
static void jump_command(const char *arg, int from_tty)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
char * get_inferior_args(void)
void set_running(ptid_t ptid, int running)
void interrupt_target_1(int all_threads)
static void signal_command(const char *signum_exp, int from_tty)
int gdbarch_has_global_solist(struct gdbarch *gdbarch)
int section_is_overlay(struct obj_section *section)
struct frame_info * get_prev_frame(struct frame_info *this_frame)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
void warning(const char *fmt,...)
LONGEST value_embedded_offset(const struct value *value)
struct thread_fsm thread_fsm
static void set_args_command(const char *args, int from_tty, struct cmd_list_element *c)
int query(const char *ctlstr,...)
static int prepare_one_step(struct step_command_fsm *sm)
void tbreak_command(const char *arg, int from_tty)
void init_wait_for_inferior(void)
void default_print_registers_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int print_all)
char * get_exec_file(int err)
static enum async_reply_reason step_command_fsm_async_reply_reason(struct thread_fsm *self)
static char * inferior_args_scratch
void get_formatted_print_options(struct value_print_options *opts, char format)
show_value_ftype deprecated_show_value_hack
void target_detach(const char *args, int from_tty)
void gdbarch_print_registers_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
struct cmd_list_element * add_info(const char *name, cmd_const_cfunc_ftype *fun, const char *doc)
static int proceed_after_attach_callback(struct thread_info *thread, void *arg)
static char * inferior_cwd_scratch
struct frame_id get_stack_frame_id(struct frame_info *next_frame)
void internal_error(const char *file, int line, const char *fmt,...)
const struct frame_id null_frame_id
struct thread_info * inferior_thread(void)
void set(const char *var, const char *value)
struct cmd_list_element * lookup_cmd(const char **line, struct cmd_list_element *list, const char *cmdtype, int allow_unknown, int ignore_help_classes)
static void info_proc_cmd_stat(const char *args, int from_tty)
#define ERROR_NO_INFERIOR
union target_waitstatus::@174 value
int gdbarch_print_vector_info_p(struct gdbarch *gdbarch)
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, const char *doc, struct cmd_list_element **list)
void set_inferior_io_terminal(const char *terminal_name)
void thread_fsm_clean_up(struct thread_fsm *self, struct thread_info *thread)
static void finish_backward(struct finish_command_fsm *sm)
void reread_symbols(void)
void filename_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
#define TYPE_NO_RETURN(thistype)
struct breakpoint * breakpoint
#define target_post_attach(pid)
struct cmd_list_element * cmdlist
void get_no_prettyformat_print_options(struct value_print_options *opts)
int gdbarch_num_regs(struct gdbarch *gdbarch)
char * skip_spaces(char *chp)
struct reggroup *const all_reggroup
const gdb_byte * value_contents_for_printing(struct value *value)
void set_longjmp_breakpoint(struct thread_info *tp, struct frame_id frame)
enum gdb_signal stop_signal
static enum async_reply_reason until_next_fsm_async_reply_reason(struct thread_fsm *self)
void gdbarch_info_proc(struct gdbarch *gdbarch, const char *args, enum info_proc_what what)
static void kill_command(const char *arg, int from_tty)
static void until_command(const char *arg, int from_tty)
static int step_command_fsm_should_stop(struct thread_fsm *self, struct thread_info *thread)
static void disconnect_command(const char *args, int from_tty)
struct value * allocate_value(struct type *type)
void text(const char *string)
void delete_longjmp_breakpoint(int thread)
struct regcache * get_current_regcache(void)
struct objfile * symbol_objfile(const struct symbol *symbol)
static void error_is_running(void)
static constexpr readonly_t readonly
static char * inferior_io_terminal_scratch
void printf_filtered(const char *format,...)
static void proceed_after_attach(int pid)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
#define SYMBOL_OBJ_SECTION(objfile, symbol)
void notice_new_inferior(ptid_t ptid, int leave_running, int from_tty)
std::vector< symtab_and_line > decode_line_with_last_displayed(const char *string, int flags)
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_const_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
void signal_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
static void finish_command(const char *arg, int from_tty)
void _initialize_infcmd(void)
int gdbarch_num_pseudo_regs(struct gdbarch *gdbarch)
static void info_proc_cmd_cwd(const char *args, int from_tty)
struct thread_info * iterate_over_threads(thread_callback_func, void *)
struct reggroup *const float_reggroup
void switch_to_thread(ptid_t ptid)
struct cmd_list_element * infolist
static const char path_var_name[]
static void continue_command(const char *args, int from_tty)
static void stepi_command(const char *count_string, int from_tty)
struct cmd_list_element * setlist
static void step_command_fsm_clean_up(struct thread_fsm *self, struct thread_info *thread)
enum frame_type get_frame_type(struct frame_info *frame)
static void print_return_value_1(struct ui_out *uiout, struct return_value_info *rv)
struct frame_id get_frame_id(struct frame_info *fi)
int is_stopped(ptid_t ptid)
void breakpoint_re_set(void)
struct type * check_typedef(struct type *type)
static void info_float_command(const char *args, int from_tty)
static void until_next_fsm_clean_up(struct thread_fsm *self, struct thread_info *thread)
static void info_vector_command(const char *args, int from_tty)
enum exec_direction_kind execution_direction
#define CATCH(EXCEPTION, MASK)
struct reggroup *const general_reggroup
void noop_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *prefix)
thread_suspend_state suspend
std::unique_ptr< T, xfree_deleter< T > > unique_xmalloc_ptr
const char * get_inferior_io_terminal(void)
void inferior_event_handler(enum inferior_event_type event_type, gdb_client_data client_data)
struct target_ops current_target
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
int inline_skipped_frames(ptid_t ptid)
static void advance_command(const char *arg, int from_tty)
int target_is_non_stop_p(void)
void solib_add(const char *pattern, int from_tty, int readsyms)
void stop_all_threads(void)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
struct value * read_var_value(struct symbol *var, const struct block *var_block, struct frame_info *frame)
static void next_command(const char *count_string, int from_tty)
struct symbol * find_pc_function(CORE_ADDR pc)
void set_cmd_completer(struct cmd_list_element *cmd, completer_ftype *completer)
void print_hex_chars(struct ui_file *stream, const gdb_byte *valaddr, unsigned len, enum bfd_endian byte_order, bool zero_pad)
enum prompt_state prompt_state
void gdbarch_print_vector_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
static void unset_command(const char *args, int from_tty)
struct cmd_list_element * showlist
void exception_print(struct ui_file *file, struct gdb_exception e)
static int until_next_fsm_should_stop(struct thread_fsm *self, struct thread_info *thread)
struct cmd_list_element * add_com_alias(const char *name, const char *oldname, enum command_class theclass, int abbrev_flag)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
void puts_filtered(const char *string)
static void start_command(const char *args, int from_tty)
struct cmd_list_element * add_setshow_string_noescape_cmd(const char *name, enum command_class theclass, char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
struct symbol * get_frame_function(struct frame_info *frame)
ptid_t pid_to_ptid(int pid)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
int get_traceframe_number(void)
void mark_infrun_async_event_handler(void)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
struct cmd_list_element * unsetlist
void target_interrupt(ptid_t ptid)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
static void attach_post_wait(const char *args, int from_tty, enum attach_post_wait_mode mode)
static void step_1(int, int, const char *)
int step_stop_if_no_debug
struct gdbarch * get_type_arch(const struct type *type)
struct gdbarch * get_current_arch(void)
enum return_value_convention gdbarch_return_value(struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
void field_stream(const char *fldname, string_file &stream)
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
#define target_is_async_p()
const char * print_thread_id(struct thread_info *thr)
static int proceed_thread_callback(struct thread_info *thread, void *arg)
static int startswith(const char *string, const char *pattern)
struct thread_fsm * thread_fsm
static void info_proc_cmd_mappings(const char *args, int from_tty)
int bpstat_num(bpstat *bsp, int *num)
enum attach_post_wait_mode mode
const char * gdb_signal_to_name(enum gdb_signal)
#define target_has_execution
static void show_args_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static struct until_next_fsm * new_until_next_fsm(struct interp *cmd_interp, int thread)
void printf_unfiltered(const char *format,...)
int section_is_mapped(struct obj_section *osect)
void set_inferior_cwd(const char *cwd)
static void step_command(const char *count_string, int from_tty)
static enum async_reply_reason finish_command_fsm_async_reply_reason(struct thread_fsm *self)
static void ensure_not_running(void)
unsigned solib_add_generation
int user_reg_map_name_to_regnum(struct gdbarch *gdbarch, const char *name, int len)
struct reggroup *const vector_reggroup
static void info_program_command(const char *args, int from_tty)
static void info_proc_cmd_exe(const char *args, int from_tty)
struct thread_fsm thread_fsm
static struct frame_info * skip_finish_frames(struct frame_info *frame)
static struct thread_fsm_ops finish_command_fsm_ops
static void ours_for_output()
struct cmd_list_element * add_alias_cmd(const char *name, cmd_list_element *old, enum command_class theclass, int abbrev_flag, struct cmd_list_element **list)
void void spaces(int numspaces)
void continue_1(int all_threads)
struct symbol * step_start_function
static void info_registers_command(const char *addr_exp, int from_tty)
symtab_and_line find_frame_sal(frame_info *frame)
void gdbarch_print_float_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
void finish_thread_state_cleanup(void *ptid_p)
void set_inferior_args_vector(int argc, char **argv)
void location_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *)
int stopped_by_random_signal
static void set_inferior_tty_command(const char *args, int from_tty, struct cmd_list_element *c)
int signal_pass_state(int signo)
enum gdb_signal gdb_signal_from_name(const char *)
const char * get_inferior_cwd()
void all_uis_check_sync_execution_done(void)
void print_stack_frame(struct frame_info *, int print_level, enum print_what print_what, int set_current_sal)
int have_minimal_symbols(void)
struct frame_info * skip_tailcall_frames(struct frame_info *frame)
void observer_notify_inferior_created(struct target_ops *objfile, int from_tty)
static int finish_command_fsm_should_stop(struct thread_fsm *self, struct thread_info *thread)
void throw_exception(struct gdb_exception exception)
struct symbol * fixup_symbol_section(struct symbol *sym, struct objfile *objfile)
void print_spaces_filtered(int n, struct ui_file *stream)
static void default_print_one_register_info(struct ui_file *file, const char *name, struct value *val)
static void show_cwd_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
struct cmd_list_element * detachlist
int value_entirely_available(struct value *value)
static void ensure_valid_thread(void)
void help_list(struct cmd_list_element *list, const char *cmdtype, enum command_class theclass, struct ui_file *stream)
void mod_path(const char *, char **)
T & emplace(Args &&... args)
void discard_cleanups(struct cleanup *old_chain)
breakpoint_up set_momentary_breakpoint(struct gdbarch *gdbarch, struct symtab_and_line sal, struct frame_id frame_id, enum bptype type)
const struct language_defn * current_language
int value_optimized_out(struct value *value)
#define TYPE_TARGET_TYPE(thistype)
struct bound_minimal_symbol lookup_minimal_symbol_by_pc(CORE_ADDR pc)
int target_info_proc(const char *args, enum info_proc_what what)
int gdbarch_register_reggroup_p(struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
bpstat bpstat_find_breakpoint(bpstat bsp, struct breakpoint *breakpoint)
#define ALL_NON_EXITED_THREADS(T)
static void path_info(const char *args, int from_tty)
struct thread_fsm thread_fsm
void target_pre_inferior(int from_tty)
void proceed(CORE_ADDR addr, enum gdb_signal siggnal)
#define SYMBOL_BLOCK_VALUE(symbol)
#define TYPE_CODE(thistype)
void set_step_info(struct frame_info *frame, struct symtab_and_line sal)
struct value * value_of_register(int regnum, struct frame_info *frame)
static gdb::unique_xmalloc_ptr< char > strip_bg_char(const char *args, int *bg_char_p)
void clear_proceed_status(int step)
thread_control_state control
void attach_command(const char *args, int from_tty)
enum target_waitkind kind
static void info_proc_cmd(const char *args, int from_tty)
static void info_proc_cmd_status(const char *args, int from_tty)
void breakpoint_init_inferior(enum inf_context context)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
static struct finish_command_fsm * new_finish_command_fsm(struct interp *cmd_interp)
struct minimal_symbol * minsym
void exec_file_locate_attach(int pid, int defer_bp_reset, int from_tty)
void until_break_command(const char *arg, int from_tty, int anywhere)
void set_inferior_args(const char *newargs)
void solib_create_inferior_hook(int from_tty)
struct interp * command_interp(void)
struct program_space * pspace
static void finish_command_fsm_clean_up(struct thread_fsm *self, struct thread_info *thread)
void get_user_print_options(struct value_print_options *opts)
void clear_breakpoint_hit_counts(void)
static void ensure_not_tfind_mode(void)
int(* to_can_async_p)(struct target_ops *) TARGET_DEFAULT_RETURN(0)
static void path_command(const char *dirname, int from_tty)
void set_stop_requested(ptid_t ptid, int stop)
void switch_to_thread_no_regs(struct thread_info *thread)
static void run_command(const char *args, int from_tty)
static void step_command_fsm_prepare(struct step_command_fsm *sm, int skip_subroutines, int single_inst, int count, struct thread_info *thread)
struct target_ops * find_run_target(void)
static void environment_info(const char *var, int from_tty)
int ptid_equal(const ptid_t &ptid1, const ptid_t &ptid2)
static void finish_forward(struct finish_command_fsm *sm, struct frame_info *frame)
int record_latest_value(struct value *val)
struct inferior * current_inferior(void)
void val_print(struct type *type, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *val, const struct value_print_options *options, const struct language_defn *language)
struct cmd_list_element * add_info_alias(const char *name, const char *oldname, int abbrev_flag)
int is_exited(ptid_t ptid)
static void until_next_command(int)
struct program_space * current_program_space
int ptid_match(const ptid_t &ptid, const ptid_t &filter)
static void info_proc_cmd_cmdline(const char *args, int from_tty)
static void set_environment_command(const char *arg, int from_tty)
char * savestring(const char *ptr, size_t len)
void print_return_value(struct ui_out *uiout, struct return_value_info *rv)
void disconnect_tracing(void)
void all_uis_on_sync_execution_starting(void)
int(* to_supports_non_stop)(struct target_ops *) TARGET_DEFAULT_RETURN(0)
void add_setshow_optional_filename_cmd(const char *name, enum command_class theclass, char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
struct type * value_type(const struct value *value)
const char * gdb_signal_to_string(enum gdb_signal)
char * construct_inferior_arguments(int argc, char **argv)
#define target_attach_no_wait
void target_disconnect(const char *args, int from_tty)
#define SYMBOL_TYPE(symbol)
inferior_control_state control
void unset(const char *var)
struct target_ops * find_attach_target(void)
void reg_or_group_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
void registers_info(const char *addr_exp, int fpregs)
struct target_waitstatus waitstatus
gdb_byte * value_contents_raw(struct value *value)
void thread_fsm_ctor(struct thread_fsm *self, struct thread_fsm_ops *ops, struct interp *cmd_interp)
void(* to_create_inferior)(struct target_ops *, const char *, const std::string &, char **, int)
struct reggroup * reggroup_next(struct gdbarch *gdbarch, struct reggroup *last)
enum step_over_calls_kind step_over_calls
#define TYPE_LENGTH(thistype)
enum stop_stack_kind stop_stack_dummy
static void set_cwd_command(const char *args, int from_tty, struct cmd_list_element *c)
static void info_proc_cmd_1(const char *args, enum info_proc_what what, int from_tty)
void(* to_attach)(struct target_ops *ops, const char *, int)
std::string type_to_string(struct type *type)
struct cmd_list_element * killlist
int gdbarch_info_proc_p(struct gdbarch *gdbarch)
static void run_command_1(const char *args, int from_tty, enum run_how run_how)
void resolve_sal_pc(struct symtab_and_line *sal)
int is_running(ptid_t ptid)
struct cmd_list_element * add_com(const char *name, enum command_class theclass, cmd_const_cfunc_ftype *fun, const char *doc)
void target_find_description(void)
struct frame_info * skip_unwritable_frames(struct frame_info *frame)
struct value * value_of_user_reg(int regnum, struct frame_info *frame)
static struct thread_fsm_ops until_next_fsm_ops
void add_inferior_continuation(continuation_ftype *hook, void *args, continuation_free_arg_ftype *free_arg)
void(* deprecated_attach_hook)(void)
void insert_step_resume_breakpoint_at_sal(struct gdbarch *gdbarch, struct symtab_and_line sr_sal, struct frame_id sr_id)
void query_if_trace_running(int from_tty)
static struct thread_fsm_ops step_command_fsm_ops
static void show_inferior_tty_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void print_vector_info(struct ui_file *file, struct frame_info *frame, const char *args)
void delete_breakpoint(struct breakpoint *bpt)
struct program_space * get_frame_program_space(struct frame_info *frame)
void error(const char *fmt,...)
static void info_proc_cmd_all(const char *args, int from_tty)
static void interrupt_command(const char *args, int from_tty)
gdb::unique_xmalloc_ptr< char > cwd
void prepare_execution_command(struct target_ops *target, int background)
void thread_fsm_set_finished(struct thread_fsm *self)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const char * reggroup_name(struct reggroup *group)
static struct return_value_info * finish_command_fsm_return_value(struct thread_fsm *self)
int is_executing(ptid_t ptid)
static void nexti_command(const char *count_string, int from_tty)
static void unset_environment_command(const char *var, int from_tty)
void setup_inferior(int from_tty)
void default_print_float_info(struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
int find_pc_line_pc_range(CORE_ADDR pc, CORE_ADDR *startptr, CORE_ADDR *endptr)
static void info_all_registers_command(const char *addr_exp, int from_tty)
void field_fmt(const char *fldname, const char *format,...) ATTRIBUTE_PRINTF(3
void step_into_inline_frame(ptid_t ptid)
void init_thread_list(void)
static struct step_command_fsm * new_step_command_fsm(struct interp *cmd_interp)
static void kill_if_already_running(int from_tty)
LONGEST parse_and_eval_long(const char *exp)