114 "infrun: infrun_async(%d)\n",
183 _(
"Disabling randomization of debuggee's " 184 "virtual address space is %s.\n"),
188 "virtual address space is unsupported on\n" 189 "this platform.\n"), file);
197 error (
_(
"Disabling randomization of debuggee's " 198 "virtual address space is unsupported on\n" 214 error (
_(
"Cannot change this setting while the inferior is running."));
225 _(
"Controlling the inferior in non-stop mode is %s.\n"),
243 error (
_(
"Cannot change this setting while the inferior is running."));
299 (newval ?
"on" :
"off"));
321 #define SET_SIGS(nsigs,sigs,flags) \ 323 int signum = (nsigs); \ 324 while (signum-- > 0) \ 325 if ((sigs)[signum]) \ 326 (flags)[signum] = 1; \ 329 #define UNSET_SIGS(nsigs,sigs,flags) \ 331 int signum = (nsigs); \ 332 while (signum-- > 0) \ 333 if ((sigs)[signum]) \ 334 (flags)[signum] = 0; \ 348 #define RESUME_ALL minus_one_ptid 405 _(
"Debugger response to a program " 406 "call of fork or vfork is \"%s\".\n"),
421 ptid_t parent_ptid, child_ptid;
439 Can not resume the parent process over vfork in the foreground while\n\ 440 holding the child stopped. Try \"set detach-on-fork\" or \ 441 \"set schedule-multiple\".\n"));
471 _(
"Detaching after %s from child %s.\n"),
472 has_vforked ?
"vfork" :
"fork",
478 struct inferior *parent_inf, *child_inf;
549 struct inferior *parent_inf, *child_inf;
556 _(
"Attaching after %s %s to child %s.\n"),
558 has_vforked ?
"vfork" :
"fork",
573 parent_pspace = parent_inf->
pspace;
604 _(
"Detaching after fork from " 627 child_inf->
pspace = parent_pspace;
659 int should_resume = 1;
666 struct breakpoint *step_resume_breakpoint = NULL;
667 struct breakpoint *exception_resume_breakpoint = NULL;
670 struct frame_id step_frame_id = { 0 };
714 if (follow_child && should_resume)
721 exception_resume_breakpoint
775 = step_resume_breakpoint;
780 = exception_resume_breakpoint;
791 warning (
_(
"Not resuming: switched threads " 792 "before following fork child."));
808 "Unexpected pending_follow.kind %d\n",
813 return should_resume;
863 int pid = * (
int *) arg;
873 "infrun: resuming vfork parent thread %s\n",
908 if (
inf->vfork_parent)
910 int resume_parent = -1;
916 if (
inf->vfork_parent->pending_detach)
924 inf->vfork_parent->pending_detach = 0;
927 maybe_restore_inferior;
929 maybe_restore_thread;
934 maybe_restore_inferior.
emplace ();
936 maybe_restore_thread.
emplace ();
954 pspace =
inf->pspace;
955 aspace =
inf->aspace;
966 _(
"Detaching vfork parent process " 967 "%d after child exec.\n"),
973 _(
"Detaching vfork parent process " 974 "%d after child exit.\n"),
982 inf->pspace = pspace;
983 inf->aspace = aspace;
990 inf->aspace =
inf->pspace->aspace;
994 resume_parent =
inf->vfork_parent->
pid;
997 inf->vfork_parent->vfork_child = NULL;
1028 inf->pspace = pspace;
1031 resume_parent =
inf->vfork_parent->
pid;
1033 inf->vfork_parent->vfork_child = NULL;
1036 inf->vfork_parent = NULL;
1040 if (
non_stop && resume_parent != -1)
1048 "infrun: resuming vfork parent process %d\n",
1084 char *exec_file_host;
1171 if (exec_file_host == NULL)
1172 warning (
_(
"Could not load symbols for executable %s.\n" 1173 "Do you need \"set sysroot\"?"),
1345 "infrun: clear_step_over_info\n");
1527 state = state->
next)
1544 state = state->
next)
1591 state = state->
next)
1636 *prev_next_p = it->
next;
1641 prev_next_p = &it->
next;
1669 _(
"Debugger's willingness to use displaced stepping " 1670 "to step over breakpoints is %s (currently %s).\n"),
1674 _(
"Debugger's willingness to use displaced stepping " 1675 "to step over breakpoints is %s.\n"),
value);
1695 && (displaced_state == NULL
1727 for (i = 0; i < len; i++)
1751 struct cleanup *ignore_cleanups;
1787 "displaced: deferring step of %s\n",
1797 "displaced: stepping %s now\n",
1825 "displaced: breakpoint set in scratch pad. " 1826 "Stepping over breakpoint in-line instead.\n");
1839 _(
"Error accessing memory address %s (%s) for " 1840 "displaced-stepping scratch space."),
1853 if (closure == NULL)
1907 "infrun: disabling displaced stepping: %s\n",
1915 warning (
_(
"disabling displaced stepping: %s"),
1971 if (displaced == NULL)
1989 if (signal == GDB_SIGNAL_TRAP
2049 memset (ecs, 0,
sizeof (*ecs));
2076 step_over_what step_what;
2077 int must_be_in_line;
2105 "infrun: step-over queue now empty\n");
2113 "[%s] has inconsistent state: " 2114 "trap_expected=%d, resumed=%d, executing=%d\n",
2123 "infrun: resuming [%s] for step-over\n",
2140 error (
_(
"Command aborted."));
2185 displaced = displaced->
next)
2211 _(
"Mode for locking scheduler " 2212 "during execution is \"%s\".\n"),
2391 "infrun: resume: thread %s has pending wait " 2392 "status %s (currently_stepping=%d).\n",
2402 if (sig != GDB_SIGNAL_0)
2404 warning (
_(
"Couldn't deliver signal %s to %s."),
2435 "infrun: resume : clear step\n");
2441 "infrun: resume (step=%d, signal=%s), " 2442 "trap_expected=%d, current thread [%s] at %s\n",
2454 if (sig != GDB_SIGNAL_0)
2472 "infrun: resume: skipping permanent breakpoint, " 2473 "deliver signal first\n");
2497 "infrun: resume: skipping permanent breakpoint\n");
2545 && sig == GDB_SIGNAL_0
2554 "Got placed in step-over queue\n");
2559 else if (prepared < 0)
2573 else if (prepared > 0)
2616 && sig != GDB_SIGNAL_0
2693 "infrun: resume: [%s] stepped breakpoint\n",
2711 struct gdbarch *resume_gdbarch = resume_regcache->
arch ();
2716 paddress (resume_gdbarch, actual_pc));
2798 "infrun: clear_proceed_status_thread (%s)\n",
2809 "infrun: clear_proceed_status: pending " 2810 "event of %s was a finished step. " 2823 "infrun: clear_proceed_status_thread: thread %s " 2824 "has pending wait status %s " 2825 "(currently_stepping=%d).\n",
2935 static step_over_what
2938 step_over_what what = 0;
3042 if (siggnal != GDB_SIGNAL_DEFAULT)
3063 "infrun: proceed (addr=%s, signal=%s)\n",
3114 "infrun: need to step-over [%s] first\n",
3165 "infrun: proceed: [%s] resumed\n",
3175 "infrun: proceed: [%s] needs step-over\n",
3182 "infrun: proceed: resuming %s\n",
3189 error (
_(
"Command aborted."));
3199 error (
_(
"Command aborted."));
3430 stb.
printf (
"infrun: target_wait (%d.%ld.%ld",
3436 stb.
printf (
", status) =\n");
3437 stb.
printf (
"infrun: %d.%ld.%ld [%s],\n",
3442 stb.
printf (
"infrun: %s\n", status_string.c_str ());
3457 int random_selector;
3467 if (num_events == 0)
3471 random_selector = (int)
3472 ((num_events * (
double) rand ()) / (RAND_MAX + 1.0));
3476 "infrun: Found %d events, selecting #%d\n",
3477 num_events, random_selector);
3484 if (random_selector-- == 0)
3510 "infrun: Waiting for specific thread %s.\n",
3535 "infrun: PC of %s changed. was=%s, now=%s\n",
3545 "infrun: previous breakpoint of %s, at %s gone\n",
3556 "infrun: pending event of %s cancelled.\n",
3572 "infrun: Using pending wait status %s for %s.\n",
3642 "displaced-stepping in-process while detaching");
3653 memset (ecs, 0,
sizeof (*ecs));
3685 error (
_(
"Program exited while detaching"));
3703 struct cleanup *thread_state_chain;
3707 (
gdb_stdlog,
"infrun: wait_for_inferior ()\n");
3724 memset (ecs, 0,
sizeof (*ecs));
3870 memset (ecs, 0,
sizeof (*ecs));
3897 maybe_restore_thread.
emplace ();
3935 int should_stop = 1;
3937 int should_notify_stop = 1;
3963 if (should_notify_stop)
4102 if (ws->
value.
sig != GDB_SIGNAL_TRAP)
4184 restore_operation_disable.
emplace 4207 && thread->
prev_pc == breakpoint_pc))
4324 return inf->control.stop_soon;
4357 #define THREAD_STOPPED_BY(REASON) \ 4359 thread_stopped_by_ ## REASON (ptid_t ptid) \ 4361 scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); \ 4362 inferior_ptid = ptid; \ 4364 return target_stopped_by_ ## REASON (); \ 4396 "infrun: saving status %s for %d.%ld.%ld\n",
4411 && ws->
value.
sig == GDB_SIGNAL_TRAP)
4417 if (thread_stopped_by_watchpoint (tp->
ptid))
4423 && thread_stopped_by_sw_breakpoint (tp->
ptid))
4429 && thread_stopped_by_hw_breakpoint (tp->
ptid))
4492 for (pass = 0; pass < 2; pass++, iterations++)
4496 "infrun: stop_all_threads, pass=%d, " 4497 "iterations=%d\n", pass, iterations);
4519 "infrun: %s executing, " 4529 "infrun: %s executing, " 4530 "already stopping\n",
4541 "infrun: %s not executing\n",
4573 "infrun: %s exited while " 4574 "stopping threads\n",
4594 if (
inf->needs_setup)
4614 "infrun: displaced-step of %s " 4615 "canceled: adding back to the " 4616 "step-over queue\n",
4625 enum gdb_signal sig;
4633 "infrun: target_wait %s, saving " 4634 "status for %d.%ld.%ld\n",
4660 "infrun: saved stop_pc=%s for %s " 4661 "(currently_stepping=%d)\n",
4707 "infrun: TARGET_WAITKIND_NO_RESUMED " 4708 "(ignoring: bg)\n");
4757 "infrun: TARGET_WAITKIND_NO_RESUMED " 4758 "(ignoring: found resumed)\n");
4778 "infrun: TARGET_WAITKIND_NO_RESUMED " 4779 "(expect process exit)\n");
4897 "infrun: Treating signal as SIGTRAP\n");
4930 mark_ptid = ecs->
ptid;
5017 _(
"unhandled stop_soon: %d"), (
int) stop_soon);
5047 "infrun: TARGET_WAITKIND_EXITED\n");
5050 "infrun: TARGET_WAITKIND_SIGNALLED\n");
5102 Cannot fill $_exitsignal with the correct signal number.\n"));
5175 "displaced: write child pc from %s to %s\n",
5289 "infrun: TARGET_WAITKIND_VFORK_DONE\n");
5357 "infrun: TARGET_WAITKIND_SYSCALL_ENTRY\n");
5371 "infrun: TARGET_WAITKIND_SYSCALL_RETURN\n");
5435 if (tp == event_thread)
5439 "infrun: restart threads: " 5440 "[%s] is event thread\n",
5449 "infrun: restart threads: " 5450 "[%s] not meant to be running\n",
5459 "infrun: restart threads: [%s] resumed\n",
5469 "infrun: restart threads: " 5470 "[%s] needs step-over\n",
5481 "infrun: restart threads: " 5482 "[%s] has pending status\n",
5496 "thread [%s] needs a step-over, but not in " 5497 "step-over queue\n",
5505 "infrun: restart threads: [%s] was stepping\n",
5516 "infrun: restart threads: [%s] continuing\n",
5545 int had_step_over_info;
5552 if (had_step_over_info)
5613 "infrun: found resumed threads with " 5614 "pending events, saving status\n");
5634 "infrun: saved stop_pc=%s for %s " 5635 "(currently_stepping=%d)\n",
5665 int stopped_by_watchpoint;
5706 "infrun: stopped data address = %s\n",
5710 "infrun: (no data address available)\n");
5798 "infrun: [%s] hit another thread's " 5799 "single-step breakpoint\n",
5810 "infrun: [%s] hit its " 5811 "single-step breakpoint\n",
5821 stopped_by_watchpoint = 0;
5827 if (stopped_by_watchpoint
5919 int step_through_delay
5925 && step_through_delay)
5933 else if (step_through_delay)
5967 && stopped_by_watchpoint)
5969 "infrun: no user watchpoint explains " 5970 "watchpoint SIGTRAP, ignoring\n");
6013 restore_operation_disable;
6016 restore_operation_disable.
emplace 6027 "infrun: delayed software breakpoint " 6028 "trap, ignoring\n");
6040 "infrun: delayed hardware breakpoint/watchpoint " 6041 "trap, ignoring\n");
6058 random_signal = !stopped_by_watchpoint;
6127 "infrun: signal arrived while stepping over " 6160 "infrun: signal may take us out of " 6161 "single-step range\n");
6183 "infrun: random signal, keep going\n");
6239 "infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME\n");
6245 struct value *arg_value;
6258 frame, &jmp_buf_pc))
6262 "infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME " 6263 "(!gdbarch_get_longjmp_target)\n");
6300 "infrun: BPSTAT_WHAT_CLEAR_LONGJMP_RESUME\n");
6450 "infrun: stepped permanent breakpoint, stopped in " 6471 "infrun: step-resume breakpoint is inserted\n");
6513 (
gdb_stdlog,
"infrun: stepping inside range [%s-%s]\n",
6558 "infrun: stepped into dynsym resolve code\n");
6560 if (pc_after_resolver)
6565 sr_sal.
pc = pc_after_resolver;
6583 "infrun: stepped into signal trampoline\n");
6609 "infrun: stepped into solib return tramp\n");
6616 sr_sal.
pc = real_stop_pc;
6734 if (real_stop_pc == 0)
6736 if (real_stop_pc != 0)
6762 if (tmp_sal.line != 0
6850 && stop_pc_sal.
line == 0)
6854 "infrun: stepped into undebuggable function\n");
6893 if (stop_pc_sal.
line == 0)
6915 "infrun: stepped into inlined function\n");
6960 "infrun: stepping through inlined function\n");
6979 "infrun: stepped to a different line\n");
7033 "infrun: need to finish step-over of [%s]\n",
7047 "infrun: need to step [%s] over single-step " 7063 "infrun: thread [%s] still needs step-over\n",
7096 stepping_thread = NULL;
7113 "[%s] has inconsistent state: " 7114 "trap_expected=%d\n",
7135 stepping_thread = tp;
7139 if (stepping_thread != NULL)
7143 "infrun: switching back to stepped thread\n");
7190 "infrun: not resuming previously " 7191 "stepped thread, it has vanished\n");
7199 "infrun: resuming previously stepped thread\n");
7226 "infrun: expected thread advanced also (%s -> %s)\n",
7252 "infrun: expected thread still hasn't advanced\n");
7295 if (stop_func_sal.
end 7404 "infrun: inserting step-resume breakpoint at %s\n",
7493 "infrun: inserting longjmp-resume breakpoint at %s\n",
7508 const struct block *b,
7529 "infrun: exception resume at %lx\n",
7530 (
unsigned long) handler);
7558 struct value *arg_value;
7570 "infrun: exception resume at %s\n",
7608 const struct block *b;
7683 "infrun: %s has trap_expected set, " 7684 "resuming to collect trap\n",
7705 "infrun: step-over already in progress: " 7706 "step-over for %s deferred\n",
7714 "infrun: step-over in progress: " 7715 "resume of %s deferred\n",
7724 step_over_what step_what;
7761 else if (remove_wps)
7866 uiout->
text (
"\nProgram terminated with signal ");
7876 uiout->
text (
".\n");
7877 uiout->
text (
"The program no longer exists.\n");
7891 uiout->
text (
"[Inferior ");
7894 uiout->
text (pidstr);
7895 uiout->
text (
") exited with code ");
7896 uiout->
field_fmt (
"exit-code",
"0%o", (
unsigned int) exitstatus);
7897 uiout->
text (
"]\n");
7904 uiout->
text (
"[Inferior ");
7907 uiout->
text (pidstr);
7908 uiout->
text (
") exited normally]\n");
7939 uiout->
text (
"\nThread ");
7945 uiout->
text (
" \"");
7951 uiout->
text (
"\nProgram");
7953 if (siggnal == GDB_SIGNAL_0 && !uiout->
is_mi_like_p ())
7954 uiout->
text (
" stopped");
7957 uiout->
text (
" received signal ");
7968 if (siggnal == GDB_SIGNAL_SEGV)
7973 uiout->
text (
".\n");
7979 uiout->
text (
"\nNo more reverse-execution history.\n");
7992 int do_frame_printing = 1;
8026 do_frame_printing = 0;
8037 if (do_frame_printing)
8084 "program is no longer writable.\nFurther " 8085 "execution is probably impossible.\n"));
8317 "Error while running hook_stop:\n");
8384 for (signo = 0; signo < (int) GDB_SIGNAL_LAST; signo++)
8434 for (i = 0; i < GDB_SIGNAL_LAST; ++i)
8444 "to program\tDescription\n"));
8451 int name_padding = 13 - strlen (
name);
8453 if (name_padding <= 0)
8469 int digits, wordlen;
8470 int sigfirst, signum, siglast;
8471 enum gdb_signal oursig;
8474 unsigned char *sigs;
8483 nsigs = (int) GDB_SIGNAL_LAST;
8484 sigs = (
unsigned char *) alloca (nsigs);
8496 for (
char *
arg : built_argv)
8498 wordlen = strlen (
arg);
8499 for (digits = 0; isdigit (
arg[digits]); digits++)
8503 sigfirst = siglast = -1;
8505 if (wordlen >= 1 && !strncmp (
arg,
"all", wordlen))
8511 siglast = nsigs - 1;
8513 else if (wordlen >= 1 && !strncmp (
arg,
"stop", wordlen))
8518 else if (wordlen >= 1 && !strncmp (
arg,
"ignore", wordlen))
8522 else if (wordlen >= 2 && !strncmp (
arg,
"print", wordlen))
8526 else if (wordlen >= 2 && !strncmp (
arg,
"pass", wordlen))
8530 else if (wordlen >= 3 && !strncmp (
arg,
"nostop", wordlen))
8534 else if (wordlen >= 3 && !strncmp (
arg,
"noignore", wordlen))
8538 else if (wordlen >= 4 && !strncmp (
arg,
"noprint", wordlen))
8543 else if (wordlen >= 4 && !strncmp (
arg,
"nopass", wordlen))
8547 else if (digits > 0)
8555 sigfirst = siglast = (int)
8557 if (
arg[digits] ==
'-')
8562 if (sigfirst > siglast)
8573 if (oursig != GDB_SIGNAL_UNKNOWN)
8575 sigfirst = siglast = (int) oursig;
8580 error (
_(
"Unrecognized or ambiguous flag word: \"%s\"."),
arg);
8587 for (signum = sigfirst; signum >= 0 && signum <= siglast; signum++)
8589 switch ((
enum gdb_signal) signum)
8591 case GDB_SIGNAL_TRAP:
8592 case GDB_SIGNAL_INT:
8593 if (!allsigs && !sigs[signum])
8595 if (
query (
_(
"%s is used by the debugger.\n\ 8596 Are you sure you want to change it? "),
8609 case GDB_SIGNAL_DEFAULT:
8610 case GDB_SIGNAL_UNKNOWN:
8620 for (signum = 0; signum < nsigs; signum++)
8631 for (; signum < nsigs; signum++)
8645 const char *text,
const char *word)
8647 static const char *
const keywords[] =
8668 if (num >= 1 && num <= 15)
8669 return (
enum gdb_signal) num;
8670 error (
_(
"Only signals 1-15 are valid as numeric signals.\n\ 8671 Use \"info signals\" for a list of symbolic signals."));
8682 enum gdb_signal oursig;
8690 if (oursig == GDB_SIGNAL_UNKNOWN)
8703 (int) oursig < (
int) GDB_SIGNAL_LAST;
8704 oursig = (
enum gdb_signal) ((
int) oursig + 1))
8708 if (oursig != GDB_SIGNAL_UNKNOWN
8709 && oursig != GDB_SIGNAL_DEFAULT && oursig != GDB_SIGNAL_0)
8714 "to change these tables.\n"));
8747 error (
_(
"Unable to read siginfo"));
8770 error (
_(
"Unable to write siginfo"));
8783 static struct value *
8842 siginfo_data, 0, len) == len)
8848 siginfo_data = NULL;
8989 warning (
_(
"Unable to restore previously selected frame."));
9033 "Unable to restore previously selected frame:\n");
9112 error (
_(
"Target does not support this operation."));
9129 _(
"bogus execution_direction value: %d"),
9139 "of all processes is %s.\n"),
value);
9172 What debugger does when program gets various signals.\n\ 9173 Specify a signal as argument to print info on that signal only."));
9177 Specify how to handle signals.\n\ 9178 Usage: handle SIGNAL [ACTIONS]\n\ 9179 Args are signals and actions to apply to those signals.\n\ 9180 If no actions are specified, the current settings for the specified signals\n\ 9181 will be displayed instead.\n\ 9183 Symbolic signals (e.g. SIGSEGV) are recommended but numeric signals\n\ 9184 from 1-15 are allowed for compatibility with old versions of GDB.\n\ 9185 Numeric ranges may be specified with the form LOW-HIGH (e.g. 1-5).\n\ 9186 The special arg \"all\" is recognized to mean all signals except those\n\ 9187 used by the debugger, typically SIGTRAP and SIGINT.\n\ 9189 Recognized actions include \"stop\", \"nostop\", \"print\", \"noprint\",\n\ 9190 \"pass\", \"nopass\", \"ignore\", or \"noignore\".\n\ 9191 Stop means reenter debugger if this signal happens (implies print).\n\ 9192 Print means print a message if this signal happens.\n\ 9193 Pass means let program see this signal; otherwise program doesn't know.\n\ 9194 Ignore is a synonym for nopass and noignore is a synonym for pass.\n\ 9195 Pass and Stop may be combined.\n\ 9197 Multiple signals may be specified. Signal numbers and signal names\n\ 9198 may be interspersed with actions, with the actions being performed for\n\ 9199 all signals cumulatively specified."));
9205 There is no `stop' command, but you can set a hook on `stop'.\n\ 9206 This allows you to set a list of commands to be run each time execution\n\ 9207 of the program stops."), &
cmdlist);
9210 Set inferior debugging."),
_(
"\ 9211 Show inferior debugging."),
_(
"\ 9212 When non-zero, inferior specific debugging is enabled."),
9219 Set displaced stepping debugging."),
_(
"\ 9220 Show displaced stepping debugging."),
_(
"\ 9221 When non-zero, displaced stepping specific debugging is enabled."),
9228 Set whether gdb controls the inferior in non-stop mode."),
_(
"\ 9229 Show whether gdb controls the inferior in non-stop mode."),
_(
"\ 9230 When debugging a multi-threaded program and this setting is\n\ 9231 off (the default, also called all-stop mode), when one thread stops\n\ 9232 (for a breakpoint, watchpoint, exception, or similar events), GDB stops\n\ 9233 all other threads in the program while you interact with the thread of\n\ 9234 interest. When you continue or step a thread, you can allow the other\n\ 9235 threads to run, or have them remain stopped, but while you inspect any\n\ 9236 thread's state, all threads stop.\n\ 9238 In non-stop mode, when one thread stops, other threads can continue\n\ 9239 to run freely. You'll be able to step each thread independently,\n\ 9240 leave it stopped or free to run as needed."),
9246 numsigs = (int) GDB_SIGNAL_LAST;
9252 for (i = 0; i < numsigs; i++)
9314 Set stopping for shared library events."),
_(
"\ 9315 Show stopping for shared library events."),
_(
"\ 9316 If nonzero, gdb will give control to the user when the dynamic linker\n\ 9317 notifies gdb of shared library events. The most common event of interest\n\ 9318 to the user would be loading/unloading of a new library."),
9326 Set debugger response to a program call of fork or vfork."),
_(
"\ 9327 Show debugger response to a program call of fork or vfork."),
_(
"\ 9328 A fork or vfork creates a new process. follow-fork-mode can be:\n\ 9329 parent - the original process is debugged after a fork\n\ 9330 child - the new process is debugged after a fork\n\ 9331 The unfollowed process will continue to run.\n\ 9332 By default, the debugger will follow the parent process."),
9340 Set debugger response to a program call of exec."),
_(
"\ 9341 Show debugger response to a program call of exec."),
_(
"\ 9342 An exec call replaces the program image of a process.\n\ 9344 follow-exec-mode can be:\n\ 9346 new - the debugger creates a new inferior and rebinds the process\n\ 9347 to this new inferior. The program the process was running before\n\ 9348 the exec call can be restarted afterwards by restarting the original\n\ 9351 same - the debugger keeps the process bound to the same inferior.\n\ 9352 The new executable image replaces the previous executable loaded in\n\ 9353 the inferior. Restarting the inferior after the exec call restarts\n\ 9354 the executable the process was running after the exec call.\n\ 9356 By default, the debugger will use the same inferior."),
9363 Set mode for locking scheduler during execution."),
_(
"\ 9364 Show mode for locking scheduler during execution."),
_(
"\ 9365 off == no locking (threads may preempt at any time)\n\ 9366 on == full locking (no thread except the current thread may run)\n\ 9367 This applies to both normal execution and replay mode.\n\ 9368 step == scheduler locked during stepping commands (step, next, stepi, nexti).\n\ 9369 In this mode, other threads may run during other commands.\n\ 9370 This applies to both normal execution and replay mode.\n\ 9371 replay == scheduler locked in replay mode and unlocked during normal execution."),
9377 Set mode for resuming threads of all processes."),
_(
"\ 9378 Show mode for resuming threads of all processes."),
_(
"\ 9379 When on, execution commands (such as 'continue' or 'next') resume all\n\ 9380 threads of all processes. When off (which is the default), execution\n\ 9381 commands only resume the threads of the current process. The set of\n\ 9382 threads that are resumed is further refined by the scheduler-locking\n\ 9383 mode (see help set scheduler-locking)."),
9389 Set mode of the step operation."),
_(
"\ 9390 Show mode of the step operation."),
_(
"\ 9391 When set, doing a step over a function without debug line information\n\ 9392 will stop at the first instruction of that function. Otherwise, the\n\ 9393 function is skipped and the step command stops at a different source line."),
9400 Set debugger's willingness to use displaced stepping."),
_(
"\ 9401 Show debugger's willingness to use displaced stepping."),
_(
"\ 9402 If on, gdb will use displaced stepping to step over breakpoints if it is\n\ 9403 supported by the target architecture. If off, gdb will not use displaced\n\ 9404 stepping to step over breakpoints, even if such is supported by the target\n\ 9405 architecture. If auto (which is the default), gdb will use displaced stepping\n\ 9406 if the target architecture supports it and non-stop mode is active, but will not\n\ 9407 use it in all-stop mode (see help set non-stop)."),
9414 Options are 'forward' or 'reverse'."),
9415 _(
"Show direction of execution (forward/reverse)."),
9416 _(
"Tells gdb whether to execute forward or backward."),
9423 Set whether gdb will detach the child of a fork."),
_(
"\ 9424 Show whether gdb will detach the child of a fork."),
_(
"\ 9425 Tells gdb whether to detach the child of a fork."),
9432 Set disabling of debuggee's virtual address space randomization."),
_(
"\ 9433 Show disabling of debuggee's virtual address space randomization."),
_(
"\ 9434 When this mode is on (which is the default), randomization of the virtual\n\ 9435 address space is disabled. Standalone programs run with the randomization\n\ 9436 enabled by default on some platforms."),
9458 Set whether gdb controls the inferior in observer mode."),
_(
"\ 9459 Show whether gdb controls the inferior in observer mode."),
_(
"\ 9460 In observer mode, GDB can get data from the inferior, but not\n\ 9461 affect its execution. Registers and memory may not be changed,\n\ 9462 breakpoints may not be set, and the program cannot be interrupted\n\ void error_no_arg(const char *why)
void get_last_target_status(ptid_t *ptidp, struct target_waitstatus *status)
struct frame_id step_stack_frame_id
int target_supports_disable_randomization(void)
static struct thread_info * random_pending_event_thread(ptid_t waiton_ptid)
struct gdbarch * target_gdbarch(void)
int frame_id_p(struct frame_id l)
int breakpoint_in_range_p(const address_space *aspace, CORE_ADDR addr, ULONGEST len)
static void set_exec_direction_func(const char *args, int from_tty, struct cmd_list_element *cmd)
struct frame_info * frame_find_by_id(struct frame_id id)
void annotate_signalled(void)
#define target_can_async_p()
int gdbarch_software_single_step_p(struct gdbarch *gdbarch)
struct block_symbol lookup_symbol_search_name(const char *search_name, const struct block *block, domain_enum domain)
static void handle_step_into_function(struct gdbarch *gdbarch, struct execution_control_state *ecs)
static struct value * siginfo_make_value(struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
int target_thread_alive(ptid_t ptid)
struct gdbarch * siginfo_gdbarch
void target_record_stop_replaying(void)
int in_solib_dynsym_resolve_code(CORE_ADDR pc)
void no_shared_libraries(const char *ignored, int from_tty)
int breakpoint_inserted_here_p(const address_space *aspace, CORE_ADDR pc)
struct value * value_mark(void)
static void show_stop_on_solib_events(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
ULONGEST get_stop_id(void)
ptid_t user_visible_resume_ptid(int step)
struct thread_info * add_thread(ptid_t ptid)
#define target_can_execute_reverse
DEF_ENUM_FLAGS_TYPE(enum step_over_what_flag, step_over_what)
struct address_space * maybe_new_address_space(void)
void handle_solib_event(void)
int pc_in_thread_step_range(CORE_ADDR pc, struct thread_info *thread)
static void new_stop_id(void)
struct thread_info * find_thread_ptid(ptid_t ptid)
static void handle_inferior_event(struct execution_control_state *ecs)
enum breakpoint_here breakpoint_here_p(const address_space *aspace, CORE_ADDR pc)
int insert_single_step_breakpoints(struct gdbarch *gdbarch)
struct thread_control_state thread_control
struct observer * observer_attach_thread_exit(observer_thread_exit_ftype *f)
int catch_syscall_enabled(void)
static void save_waitstatus(struct thread_info *tp, struct target_waitstatus *ws)
static const char schedlock_off[]
int ptid_is_pid(const ptid_t &ptid)
static int handle_syscall_event(struct execution_control_state *ecs)
static void restore_selected_frame(const frame_id &fid)
struct frame_info * get_selected_frame(const char *message)
void target_stop(ptid_t ptid)
static int step_over_info_valid_p(void)
static const char *const follow_fork_mode_kind_names[]
CORE_ADDR step_range_start
CORE_ADDR get_frame_pc(struct frame_info *frame)
void execute_cmd_pre_hook(struct cmd_list_element *c)
int gdbarch_displaced_step_copy_insn_p(struct gdbarch *gdbarch)
static int proceed_after_vfork_done(struct thread_info *thread, void *arg)
static void clean_up_just_stopped_threads_fsms(struct execution_control_state *ecs)
static step_over_what thread_still_needs_step_over(struct thread_info *tp)
static void check_curr_ui_sync_execution_done(void)
struct frame_info * get_current_frame(void)
void post_create_inferior(struct target_ops *target, int from_tty)
void signal_catch_update(const unsigned int *info)
void clear_inline_frame_state(ptid_t ptid)
void field_string(const char *fldname, const char *string)
void print_signal_received_reason(struct ui_out *uiout, enum gdb_signal siggnal)
void gdb_rl_callback_handler_reinstall(void)
ptid_t target_wait(ptid_t ptid, struct target_waitstatus *status, int options)
void displaced_step_dump_bytes(struct ui_file *file, const gdb_byte *buf, size_t len)
struct address_space * aspace
void insert_breakpoints(void)
int ptid_get_pid(const ptid_t &ptid)
void fputs_unfiltered(const char *buf, struct ui_file *file)
struct cleanup * make_cleanup_restore_current_traceframe(void)
struct regcache * get_thread_regcache(ptid_t ptid)
enum gdb_signal gdb_signal_from_command(int num)
void delete_thread(ptid_t)
void bpstat_clear(bpstat *bsp)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
struct frame_id initiating_frame
int may_insert_fast_tracepoints
void set_running(ptid_t ptid, int running)
static ptid_t do_target_wait(ptid_t ptid, struct target_waitstatus *status, int options)
void clear_exit_convenience_vars(void)
static const char *const exec_direction_names[]
int gdbarch_get_longjmp_target(struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR *pc)
static int switch_back_to_stepped_thread(struct execution_control_state *ecs)
void print_no_history_reason(struct ui_out *uiout)
void annotate_stopped(void)
void add_setshow_auto_boolean_cmd(const char *name, enum command_class theclass, enum auto_boolean *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)
enum print_stop_action bpstat_print(bpstat bs, int kind)
int target_supports_multi_process(void)
struct frame_info * get_prev_frame(struct frame_info *this_frame)
int gdbarch_single_step_through_delay(struct gdbarch *gdbarch, struct frame_info *frame)
void frame_pop(struct frame_info *this_frame)
CORE_ADDR frame_unwind_caller_pc(struct frame_info *this_frame)
struct displaced_step_inferior_state * next
void copy_inferior_target_desc_info(struct inferior *destinf, struct inferior *srcinf)
int breakpoint_address_match(const address_space *aspace1, CORE_ADDR addr1, const address_space *aspace2, CORE_ADDR addr2)
struct gdbarch * frame_unwind_caller_arch(struct frame_info *next_frame)
static void insert_step_resume_breakpoint_at_sal_1(struct gdbarch *gdbarch, struct symtab_and_line sr_sal, struct frame_id sr_id, enum bptype sr_type)
void warning(const char *fmt,...)
regcache(gdbarch *gdbarch)
#define target_stopped_by_hw_breakpoint()
struct thread_info * event_thread
int query(const char *ctlstr,...)
void discard_infcall_control_state(struct infcall_control_state *inf_status)
void init_wait_for_inferior(void)
LONGEST target_write(struct target_ops *ops, enum target_object object, const char *annex, const gdb_byte *buf, ULONGEST offset, LONGEST len)
void async_enable_stdin(void)
int disable_randomization
void thread_fsm_delete(struct thread_fsm *self)
void breakpoint_auto_delete(bpstat bs)
int thread_fsm_should_stop(struct thread_fsm *self, struct thread_info *thread)
char * plongest(LONGEST l)
scoped_restore_exited_inferior()
void target_detach(const char *args, int from_tty)
static int resumed_thread_with_pending_status(struct thread_info *tp, void *arg)
static void show_schedule_multiple(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
int gdbarch_gdb_signal_to_target_p(struct gdbarch *gdbarch)
struct cmd_list_element * add_info(const char *name, cmd_const_cfunc_ftype *fun, const char *doc)
static void infrun_thread_ptid_changed(ptid_t old_ptid, ptid_t new_ptid)
void select_frame(struct frame_info *fi)
#define target_supports_stopped_by_sw_breakpoint()
static void check_exception_resume(struct execution_control_state *, struct frame_info *)
struct frame_id get_stack_frame_id(struct frame_info *next_frame)
void _initialize_infrun(void)
void complete_on_enum(completion_tracker &tracker, const char *const *enumlist, const char *text, const char *word)
void * memset(T *s, int c, size_t n)=delete
int show_thread_that_caused_stop(void)
void internal_error(const char *file, int line, const char *fmt,...)
const struct frame_id null_frame_id
struct thread_info * inferior_thread(void)
struct inferior_control_state inferior_control
void target_pass_signals(int numsigs, unsigned char *pass_signals)
struct regcache * registers
CORE_ADDR gdbarch_deprecated_function_start_offset(struct gdbarch *gdbarch)
static void show_observer_mode(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void observer_notify_normal_stop(struct bpstats *bs, int print_frame)
int hit_singlestep_breakpoint
void add_setshow_enum_cmd(const char *name, enum command_class theclass, const char *const *enumlist, const 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)
void restore_infcall_control_state(struct infcall_control_state *inf_status)
void print_exited_reason(struct ui_out *uiout, int exitstatus)
struct frame_id selected_frame_id
static const char *const scheduler_enums[]
static void insert_exception_resume_breakpoint(struct thread_info *tp, const struct block *b, struct frame_info *frame, struct symbol *sym)
union target_waitstatus::@174 value
void mark_async_event_handler(async_event_handler *async_handler_ptr)
static const char follow_fork_mode_parent[]
static void set_observer_mode(const char *args, int from_tty, struct cmd_list_element *c)
void nullify_last_target_wait_ptid(void)
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, const char *doc, struct cmd_list_element **list)
static void delete_just_stopped_threads_infrun_breakpoints(void)
int breakpoints_not_allowed
static const char exec_reverse[]
static void fill_in_stop_func(struct gdbarch *gdbarch, struct execution_control_state *ecs)
void annotate_signal(void)
static void context_switch(ptid_t ptid)
void thread_fsm_clean_up(struct thread_fsm *self, struct thread_info *thread)
static int thread_still_needs_step_over_bp(struct thread_info *tp)
void(* deprecated_context_hook)(int)
void target_async(int enable)
struct infcall_control_state * save_infcall_control_state(void)
void resume(gdb_signal sig)
struct observer * observer_attach_inferior_exit(observer_inferior_exit_ftype *f)
static void siginfo_value_write(struct value *v, struct value *fromval)
static void set_stop_on_solib_events(const char *args, int from_tty, struct cmd_list_element *c)
struct inferior * find_inferior_ptid(ptid_t ptid)
struct obj_section * section
struct cmd_list_element * cmdlist
static void keep_going(struct execution_control_state *ecs)
struct internalvar * lookup_internalvar(const char *name)
#define THREAD_STOPPED_BY(REASON)
static void displaced_step_clear(struct displaced_step_inferior_state *displaced)
enum gdb_signal stop_signal
static ptid_t target_last_wait_ptid
struct value * probe_safe_evaluate_at_pc(struct frame_info *frame, unsigned n)
void set_current_sal_from_frame(struct frame_info *)
int bpstat_causes_stop(bpstat bs)
struct thread_info * thread
int gdbarch_have_nonsteppable_watchpoint(struct gdbarch *gdbarch)
int signal_print_state(int signo)
void observer_notify_sync_execution_done(void)
int program_breakpoint_here_p(struct gdbarch *gdbarch, CORE_ADDR address)
int stepping_over_breakpoint
scoped_restore_tmpl< int > make_scoped_defer_target_commit_resume()
void regcache_write_pc(struct regcache *regcache, CORE_ADDR pc)
ptid_t(* deprecated_target_wait_hook)(ptid_t ptid, struct target_waitstatus *status, int options)
#define target_stopped_by_watchpoint()
static int displaced_step_prepare(ptid_t ptid)
int record_full_is_used(void)
static void infrun_async_inferior_event_handler(gdb_client_data data)
static const char * exec_direction
#define SET_SIGS(nsigs, sigs, flags)
void(* for_each_just_stopped_thread_callback_func)(struct thread_info *tp)
int stepping_past_instruction_at(struct address_space *aspace, CORE_ADDR address)
static void set_schedlock_func(const char *args, int from_tty, struct cmd_list_element *c)
void target_program_signals(int numsigs, unsigned char *program_signals)
struct value * allocate_value(struct type *type)
void text(const char *string)
static void follow_inferior_reset_breakpoints(void)
struct address_space * aspace
struct regcache * get_current_regcache(void)
int moribund_breakpoint_here_p(const address_space *aspace, CORE_ADDR pc)
#define target_stopped_data_address(target, addr_p)
void insert_single_step_breakpoint(struct gdbarch *gdbarch, const address_space *aspace, CORE_ADDR next_pc)
CORE_ADDR gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
struct symtab * current_symtab
int may_insert_tracepoints
struct observer * observer_attach_thread_stop_requested(observer_thread_stop_requested_ftype *f)
bpstat bpstat_stop_status(const address_space *aspace, CORE_ADDR bp_addr, ptid_t ptid, const struct target_waitstatus *ws)
static void handle_step_into_function_backward(struct gdbarch *gdbarch, struct execution_control_state *ecs)
static int start_step_over(void)
void printf_filtered(const char *format,...)
static int maybe_software_singlestep(struct gdbarch *gdbarch, CORE_ADDR pc)
static ptid_t internal_resume_ptid(int user_step)
CORE_ADDR stop_func_start
virtual ~displaced_step_closure()=0
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
struct obj_section * find_pc_overlay(CORE_ADDR pc)
struct gdbarch * step_gdbarch
const address_space * get_frame_address_space(struct frame_info *frame)
struct program_space * add_program_space(struct address_space *aspace)
void restore_infcall_suspend_state(struct infcall_suspend_state *inf_state)
static void release_stop_context_cleanup(void *arg)
void set_current_program_space(struct program_space *pspace)
struct regcache * regcache_dup(struct regcache *src)
#define UNSET_SIGS(nsigs, sigs, flags)
struct thread_info * thread_step_over_chain_next(struct thread_info *tp)
int bpstat_should_step(void)
static void signal_cache_update(int signo)
struct compunit_symtab * find_pc_compunit_symtab(CORE_ADDR pc)
struct program_space * pspace
static void handle_segmentation_fault(struct ui_out *uiout)
scoped_restore_tmpl< T > make_scoped_restore(T *var)
std::string target_waitstatus_to_string(const struct target_waitstatus *ws)
void signal_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
void infrun_async(int enable)
bool function_name_is_marked_for_skip(const char *function_name, const symtab_and_line &function_sal)
void add_setshow_zuinteger_cmd(const char *name, enum command_class theclass, unsigned int *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)
int signal_stop_state(int signo)
LONGEST value_offset(const struct value *value)
void null_cleanup(void *arg)
static const char schedlock_replay[]
struct thread_info * iterate_over_threads(thread_callback_func, void *)
bool waiting_for_vfork_done
int frame_id_eq(struct frame_id l, struct frame_id r)
void annotate_signal_name_end(void)
void switch_to_thread(ptid_t ptid)
void print_signal_exited_reason(struct ui_out *uiout, enum gdb_signal siggnal)
struct cmd_list_element * setlist
#define target_stopped_by_sw_breakpoint()
enum stop_stack_kind call_dummy
#define target_execution_direction()
enum frame_type get_frame_type(struct frame_info *frame)
struct thread_info * next
scoped_restore_tmpl< int > record_full_gdb_operation_disable_set(void)
CORE_ADDR gdbarch_decr_pc_after_break(struct gdbarch *gdbarch)
static int stop_print_frame
static int stop_context_changed(struct stop_context *prev)
void observer_notify_about_to_proceed(void)
const char * stop_func_name
struct frame_id get_frame_id(struct frame_info *fi)
static void reset_ecs(struct execution_control_state *ecs, struct thread_info *tp)
void breakpoint_re_set(void)
static struct stop_context * save_stop_context(void)
struct infcall_suspend_state * save_infcall_suspend_state(void)
ULONGEST gdbarch_max_insn_length(struct gdbarch *gdbarch)
void target_dcache_invalidate(void)
enum exec_direction_kind execution_direction
#define CATCH(EXCEPTION, MASK)
ui(FILE *instream, FILE *outstream, FILE *errstream)
static const char * scheduler_mode
thread_suspend_state suspend
void annotate_exited(int exitstatus)
struct cleanup * make_cleanup_restore_infcall_control_state(struct infcall_control_state *inf_status)
static void clear_proceed_status_thread(struct thread_info *tp)
int gdbarch_single_step_through_delay_p(struct gdbarch *gdbarch)
void update_signals_program_target(void)
static void keep_going_pass_signal(struct execution_control_state *ecs)
struct target_ops current_target
void inferior_event_handler(enum inferior_event_type event_type, gdb_client_data client_data)
int detach_breakpoints(ptid_t ptid)
CORE_ADDR gdbarch_addr_bits_remove(struct gdbarch *gdbarch, CORE_ADDR addr)
static void insert_exception_resume_from_probe(struct thread_info *tp, const struct bound_probe *probe, struct frame_info *frame)
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
void bpstat_run_callbacks(bpstat bs_head)
struct breakpoint * exception_resume_breakpoint
struct value * allocate_computed_value(struct type *type, const struct lval_funcs *funcs, void *closure)
int inline_skipped_frames(ptid_t ptid)
struct frame_id step_frame_id
void target_clear_description(void)
int thread_is_in_step_over_chain(struct thread_info *tp)
void print_stop_event(struct ui_out *uiout)
int target_is_non_stop_p(void)
void stop_all_threads(void)
static int finish_step_over(struct execution_control_state *ecs)
static void insert_longjmp_resume_breakpoint(struct gdbarch *, CORE_ADDR)
static void delete_thread_infrun_breakpoints(struct thread_info *tp)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
void jit_inferior_created_hook(void)
struct value * read_var_value(struct symbol *var, const struct block *var_block, struct frame_info *frame)
struct symbol * find_pc_function(CORE_ADDR pc)
void set_cmd_completer(struct cmd_list_element *cmd, completer_ftype *completer)
static void print_stop_location(struct target_waitstatus *ws)
void update_target_permissions(void)
static void for_each_just_stopped_thread(for_each_just_stopped_thread_callback_func func)
const struct block * block
static enum auto_boolean can_use_displaced_stepping
struct inferior * add_inferior(int pid)
struct displaced_step_closure * gdbarch_displaced_step_copy_insn(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static void infrun_thread_stop_requested(ptid_t ptid)
int gdbarch_displaced_step_hw_singlestep(struct gdbarch *gdbarch, struct displaced_step_closure *closure)
enum prompt_state prompt_state
void annotate_starting(void)
struct thread_info * any_live_thread_of_process(int pid)
int stepping_past_nonsteppable_watchpoint(void)
void add_setshow_zinteger_cmd(const char *name, enum command_class theclass, int *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)
long ptid_get_tid(const ptid_t &ptid)
int signal_pass_update(int signo, int state)
static void insert_hp_step_resume_breakpoint_at_frame(struct frame_info *)
void target_resume(ptid_t ptid, int step, enum gdb_signal signal)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
struct cleanup * make_cleanup_restore_infcall_suspend_state(struct infcall_suspend_state *inf_state)
void print_target_wait_results(ptid_t waiton_ptid, ptid_t result_ptid, const struct target_waitstatus *ws)
struct cmd_list_element * showlist
void exception_print(struct ui_file *file, struct gdb_exception e)
static const char schedlock_on[]
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
struct breakpoint * clone_momentary_breakpoint(struct breakpoint *orig)
gdb_byte * step_saved_copy
static void restart_threads(struct thread_info *event_thread)
static struct async_event_handler * infrun_async_inferior_event_token
void free_current_contents(void *ptr)
void update_observer_mode(void)
struct symbol * get_frame_function(struct frame_info *frame)
ptid_t pid_to_ptid(int pid)
void target_thread_events(int enable)
async_event_handler * create_async_event_handler(async_event_handler_func *proc, gdb_client_data client_data)
void mark_infrun_async_event_handler(void)
static void displaced_step_clear_cleanup(void *arg)
int nonsteppable_watchpoint_p
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
int software_breakpoint_inserted_here_p(const address_space *aspace, CORE_ADDR pc)
int catching_syscall_number(int syscall_number)
static void do_restore_infcall_suspend_state_cleanup(void *state)
struct gdbarch * get_objfile_arch(const struct objfile *objfile)
void prune_inferiors(void)
int gdb_in_secondary_prompt_p(struct ui *ui)
int ptid_to_global_thread_id(ptid_t ptid)
static void resume_1(enum gdb_signal sig)
int single_step_breakpoint_inserted_here_p(const address_space *aspace, CORE_ADDR pc)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
int target_record_will_replay(ptid_t ptid, int dir)
static unsigned char * signal_stop
struct target_ops * find_record_target(void)
static void show_follow_fork_mode_string(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void not_just_help_class_command(const char *args, int from_tty)
int step_stop_if_no_debug
int gdbarch_handle_segmentation_fault_p(struct gdbarch *gdbarch)
struct target_waitstatus pending_follow
static void end_stepping_range(struct execution_control_state *ecs)
void target_mourn_inferior(ptid_t ptid)
static CONTEXT saved_context
static void remove_displaced_stepping_state(int pid)
void regcache_cpy(struct regcache *dst, struct regcache *src)
int overlay_cache_invalid
int gdbarch_cannot_step_breakpoint(struct gdbarch *gdbarch)
void maybe_remove_breakpoints(void)
void exception_fprintf(struct ui_file *file, struct gdb_exception e, const char *prefix,...)
scoped_restore_tmpl< ptid_t > m_saved_ptid
void gdbarch_skip_permanent_breakpoint(struct gdbarch *gdbarch, struct regcache *regcache)
struct program_space * frame_unwind_program_space(struct frame_info *this_frame)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
symfile_add_flags symfile_flags
const char * print_thread_id(struct thread_info *thr)
#define target_is_async_p()
struct regcache * get_infcall_suspend_state_regcache(struct infcall_suspend_state *inf_state)
static ULONGEST current_stop_id
static void show_disable_randomization(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void clear_step_over_info(void)
struct thread_fsm * thread_fsm
static void siginfo_value_read(struct value *v)
int thread_fsm_finished_p(struct thread_fsm *self)
const char * gdb_signal_to_name(enum gdb_signal)
static int displaced_step_in_progress_thread(ptid_t ptid)
static const struct lval_funcs siginfo_value_funcs
#define target_has_execution
gdb_byte * value_contents_all_raw(struct value *value)
#define target_can_lock_scheduler
scoped_restore_current_inferior m_inferior
static struct target_waitstatus target_last_waitstatus
static void delete_just_stopped_threads_single_step_breakpoints(void)
static void switch_to_thread_cleanup(void *ptid_p)
void printf_unfiltered(const char *format,...)
int target_record_is_replaying(ptid_t ptid)
struct cmd_list_element * setdebuglist
int thread_has_single_step_breakpoint_here(struct thread_info *tp, const address_space *aspace, CORE_ADDR addr)
void async_disable_stdin(void)
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
struct frame_id frame_unwind_caller_id(struct frame_info *next_frame)
void delete_step_resume_breakpoint(struct thread_info *)
struct thread_info * step_over_queue_head
void annotate_thread_changed(void)
int gdbarch_in_solib_return_trampoline(struct gdbarch *gdbarch, CORE_ADDR pc, const char *name)
long ptid_get_lwp(const ptid_t &ptid)
CORE_ADDR gdbarch_adjust_breakpoint_address(struct gdbarch *gdbarch, CORE_ADDR bpaddr)
static ptid_t wait_one(struct target_waitstatus *ws)
static const char follow_exec_mode_same[]
struct observer * observer_attach_thread_ptid_changed(observer_thread_ptid_changed_ftype *f)
static void prepare_to_wait(struct execution_control_state *ecs)
static int use_displaced_stepping(struct thread_info *tp)
static void displaced_step_restore(struct displaced_step_inferior_state *displaced, ptid_t ptid)
enum target_stop_reason stop_reason
int thread_has_single_step_breakpoints_set(struct thread_info *tp)
static void infrun_thread_thread_exit(struct thread_info *tp, int silent)
const address_space * aspace() const
static void ours_for_output()
void skip_inline_frames(ptid_t ptid)
void fetch_inferior_event(void *client_data)
static const char *const follow_exec_mode_names[]
static void handle_inferior_event_1(struct execution_control_state *ecs)
void set_last_target_status(ptid_t ptid, struct target_waitstatus status)
struct program_space * clone_program_space(struct program_space *dest, struct program_space *src)
static void handle_command(const char *args, int from_tty)
#define SWITCH_THRU_ALL_UIS()
static int keep_going_stepped_thread(struct thread_info *tp)
static void infrun_inferior_exit(struct inferior *inf)
struct symbol * step_start_function
static void show_exec_direction_func(struct ui_file *out, int from_tty, struct cmd_list_element *cmd, const char *value)
void init_thread_stepping_state(struct thread_info *tss)
symtab_and_line find_frame_sal(frame_info *frame)
void gdbarch_handle_segmentation_fault(struct gdbarch *gdbarch, struct ui_out *uiout)
void finish_thread_state_cleanup(void *ptid_p)
const char * target_thread_name(struct thread_info *info)
int stopped_by_random_signal
static const char schedlock_step[]
void annotate_signal_name(void)
void discard_infcall_suspend_state(struct infcall_suspend_state *inf_state)
int signal_pass_state(int signo)
static ptid_t previous_inferior_ptid
enum gdb_signal gdb_signal_from_name(const char *)
bpstat bpstat_copy(bpstat bs)
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)
static void reinstall_readline_callback_handler_cleanup(void *arg)
enum stop_stack_kind stop_stack_dummy
static unsigned char * signal_program
int thread_fsm_should_notify_stop(struct thread_fsm *self)
void printf(const char *,...) ATTRIBUTE_PRINTF(2
void throw_exception(struct gdb_exception exception)
void disable_current_display(void)
void thread_step_over_chain_enqueue(struct thread_info *tp)
static void process_event_stop_test(struct execution_control_state *ecs)
static void adjust_pc_after_break(struct thread_info *thread, struct target_waitstatus *ws)
void start_remote(int from_tty)
static struct displaced_step_inferior_state * get_displaced_stepping_state(int pid)
T & emplace(Args &&... args)
void discard_cleanups(struct cleanup *old_chain)
void print_end_stepping_range_reason(struct ui_out *uiout)
breakpoint_up set_momentary_breakpoint(struct gdbarch *gdbarch, struct symtab_and_line sal, struct frame_id frame_id, enum bptype type)
void annotate_signal_string_end(void)
void observer_notify_no_history(void)
int value_optimized_out(struct value *value)
int stepping_over_watchpoint
static void show_follow_exec_mode_string(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static int follow_fork_inferior(int follow_child, int detach_fork)
void target_commit_resume(void)
struct return_value_info * thread_fsm_return_value(struct thread_fsm *self)
static unsigned char * signal_catch
static void show_step_stop_if_no_debug(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
#define ALL_NON_EXITED_THREADS(T)
struct cleanup * make_bpstat_clear_actions_cleanup(void)
void set_resumed(ptid_t ptid, int resumed)
int may_insert_breakpoints
void proceed(CORE_ADDR addr, enum gdb_signal siggnal)
static void set_disable_randomization(const char *args, int from_tty, struct cmd_list_element *c)
static const char follow_exec_mode_new[]
void update_thread_list(void)
const char * async_reason_lookup(enum async_reply_reason reason)
void prepare_for_detach(void)
void ui_register_input_event_handler(struct ui *ui)
#define SYMBOL_BLOCK_VALUE(symbol)
static int currently_stepping(struct thread_info *tp)
void set_step_info(struct frame_info *frame, struct symtab_and_line sal)
void clear_proceed_status(int step)
thread_control_state control
const char * c_str() const
enum target_waitkind kind
static struct displaced_step_inferior_state * displaced_step_inferior_states
void delete_exception_resume_breakpoint(struct thread_info *)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
int gdbarch_get_siginfo_type_p(struct gdbarch *gdbarch)
void breakpoint_init_inferior(enum inf_context context)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
static const struct internalvar_funcs siginfo_funcs
static void set_step_over_info(const address_space *aspace, CORE_ADDR address, int nonsteppable_watchpoint_p, int thread)
static void info_signals_command(const char *signum_exp, int from_tty)
char * safe_strerror(int)
void set_internalvar_integer(struct internalvar *var, LONGEST l)
void observer_notify_signal_received(enum gdb_signal siggnal)
static struct displaced_step_inferior_state * add_displaced_stepping_state(int pid)
static void show_can_use_displaced_stepping(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
int remove_breakpoints(void)
void solib_create_inferior_hook(int from_tty)
const char * target_pid_to_str(ptid_t ptid)
struct program_space * pspace
int hardware_breakpoint_inserted_here_p(const address_space *aspace, CORE_ADDR pc)
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *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)
void set_current_traceframe(int num)
int pc_at_non_inline_function(const address_space *aspace, CORE_ADDR pc, const struct target_waitstatus *ws)
static int infrun_is_async
static void sig_print_info(enum gdb_signal)
char * exec_file_find(const char *in_pathname, int *fd)
void observer_notify_exited(int exitstatus)
int bpstat_explains_signal(bpstat bsp, enum gdb_signal sig)
static void handle_vfork_child_exec_or_exit(int exec)
enum language compunit_language(const struct compunit_symtab *cust)
void try_open_exec_file(const char *exec_file_host, struct inferior *inf, symfile_add_flags add_flags)
struct address_space * new_address_space(void)
struct regcache * get_thread_arch_aspace_regcache(ptid_t ptid, struct gdbarch *gdbarch, struct address_space *aspace)
int gdbarch_adjust_breakpoint_address_p(struct gdbarch *gdbarch)
static void do_target_resume(ptid_t resume_ptid, int step, enum gdb_signal sig)
void clear_internalvar(struct internalvar *var)
void switch_to_thread_no_regs(struct thread_info *thread)
const char * gdb_signal_to_symbol_string(enum gdb_signal sig)
struct bpstat_what bpstat_what(bpstat bs_head)
struct bound_probe find_probe_by_pc(CORE_ADDR pc)
struct breakpoint * single_step_breakpoints
void value_free_to_mark(const struct value *mark)
struct inferior * add_inferior_with_spaces(void)
void exit_inferior_num_silent(int num)
int ptid_equal(const ptid_t &ptid1, const ptid_t &ptid2)
static void stop_waiting(struct execution_control_state *ecs)
struct inferior * current_inferior(void)
struct cmd_list_element * add_info_alias(const char *name, const char *oldname, int abbrev_flag)
static int stepped_in_from(struct frame_info *frame, struct frame_id step_frame_id)
static void show_debug_displaced(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
int is_exited(ptid_t ptid)
int breakpoints_should_be_inserted_now(void)
static int displaced_step_in_progress_any_inferior(void)
static void insert_step_resume_breakpoint_at_caller(struct frame_info *)
static void show_non_stop(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
struct program_space * current_program_space
static void set_non_stop(const char *args, int from_tty, struct cmd_list_element *c)
int ptid_match(const ptid_t &ptid, const ptid_t &filter)
static bool handle_stop_requested(struct execution_control_state *ecs)
void delete_single_step_breakpoints(struct thread_info *tp)
unsigned long long ULONGEST
static const char follow_fork_mode_child[]
void gdbarch_displaced_step_fixup(struct gdbarch *gdbarch, struct displaced_step_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
const struct frame_id outer_frame_id
#define SYMBOL_SEARCH_NAME(symbol)
void print_return_value(struct ui_out *uiout, struct return_value_info *rv)
void clear_async_event_handler(async_event_handler *async_handler_ptr)
void validate_registers_access(void)
void thread_step_over_chain_remove(struct thread_info *tp)
static int observer_mode_1
void update_breakpoints_after_exec(void)
void all_uis_on_sync_execution_starting(void)
int thread_is_stepping_over_breakpoint(int thread)
struct type * value_type(const struct value *value)
int watchpoints_triggered(struct target_waitstatus *ws)
void update_solib_breakpoints(void)
const char * gdb_signal_to_string(enum gdb_signal)
static unsigned char * signal_print
static void write_memory_ptid(ptid_t ptid, CORE_ADDR memaddr, const gdb_byte *myaddr, int len)
inferior_control_state control
unsigned int debug_infrun
LONGEST target_read(struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *buf, ULONGEST offset, LONGEST len)
CORE_ADDR gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc)
static void show_scheduler_mode(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static int displaced_step_prepare_throw(ptid_t ptid)
struct cmd_list_element * showdebuglist
int target_follow_fork(int follow_child, int detach_fork)
int stopped_by_random_signal
void annotate_signal_string(void)
static const char exec_forward[]
CORE_ADDR value_as_address(struct value *val)
int signal_print_update(int signo, int state)
static int follow_fork(void)
int gdbarch_skip_entrypoint_p(struct gdbarch *gdbarch)
void wait_for_inferior(void)
struct target_waitstatus waitstatus
CORE_ADDR gdbarch_displaced_step_location(struct gdbarch *gdbarch)
breakpoint_up set_momentary_breakpoint_at_pc(struct gdbarch *gdbarch, CORE_ADDR pc, enum bptype type)
enum step_over_calls_kind step_over_calls
void breakpoint_retire_moribund(void)
#define TYPE_LENGTH(thistype)
scoped_restore_current_program_space m_pspace
struct breakpoint * step_resume_breakpoint
enum stop_stack_kind stop_stack_dummy
CORE_ADDR gdbarch_skip_entrypoint(struct gdbarch *gdbarch, CORE_ADDR ip)
static void disable_thread_events(void *arg)
int signal_stop_update(int signo, int state)
CORE_ADDR skip_language_trampoline(struct frame_info *frame, CORE_ADDR pc)
static int handle_no_resumed(struct execution_control_state *ecs)
static enum stop_kind get_inferior_stop_soon(ptid_t ptid)
void reinit_frame_cache(void)
#define target_have_steppable_watchpoint
int remove_breakpoints_pid(int pid)
const address_space * aspace
static void follow_exec(ptid_t ptid, char *exec_file_target)
void gdb_flush(struct ui_file *file)
static const char * follow_exec_mode_string
static unsigned char * signal_pass
static void show_debug_infrun(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static int displaced_step_in_progress(int pid)
int is_running(ptid_t ptid)
static void handle_completer(struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
struct cmd_list_element * add_com(const char *name, enum command_class theclass, cmd_const_cfunc_ftype *fun, const char *doc)
static void do_restore_infcall_control_state_cleanup(void *sts)
static const char * follow_fork_mode_string
void target_find_description(void)
static int displaced_step_fixup(ptid_t event_ptid, enum gdb_signal signal)
struct target_waitstatus ws
int gdbarch_gdb_signal_to_target(struct gdbarch *gdbarch, enum gdb_signal signal)
CORE_ADDR gdbarch_skip_prologue_noexcept(gdbarch *gdbarch, CORE_ADDR pc) noexcept
void target_follow_exec(struct inferior *inf, char *execd_pathname)
struct displaced_step_closure * get_displaced_step_closure_by_addr(CORE_ADDR addr)
static struct cmd_list_element * stop_command
void insert_step_resume_breakpoint_at_sal(struct gdbarch *gdbarch, struct symtab_and_line sr_sal, struct frame_id sr_id)
struct type * gdbarch_get_siginfo_type(struct gdbarch *gdbarch)
int has_stack_frames(void)
struct program_space * get_frame_program_space(struct frame_info *frame)
static void delete_just_stopped_threads_infrun_breakpoints_cleanup(void *arg)
void breakpoint_re_set_thread(struct breakpoint *b)
struct internalvar * create_internalvar_type_lazy(const char *name, const struct internalvar_funcs *funcs, void *data)
struct thread_suspend_state thread_suspend
void set_executing(ptid_t ptid, int executing)
#define target_supports_stopped_by_hw_breakpoint()
static void handle_signal_stop(struct execution_control_state *ecs)
void error(const char *fmt,...)
int return_child_result_value
int step_after_step_resume_breakpoint
#define ALL_BLOCK_SYMBOLS(block, iter, sym)
void copy_terminal_info(struct inferior *to, struct inferior *from)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
void set_current_inferior(struct inferior *inf)
void throw_error(enum errors error, const char *fmt,...)
static void sig_print_header(void)
void do_cleanups(struct cleanup *old_chain)
int is_executing(ptid_t ptid)
void observer_notify_signal_exited(enum gdb_signal siggnal)
void setup_inferior(int from_tty)
#define SYMBOL_IS_ARGUMENT(symbol)
static int schedlock_applies(struct thread_info *tp)
void field_fmt(const char *fldname, const char *format,...) ATTRIBUTE_PRINTF(3
void step_into_inline_frame(ptid_t ptid)
void check_longjmp_breakpoint_for_call_dummy(struct thread_info *tp)
#define ALL_THREADS_SAFE(T, TMP)
void mark_breakpoints_out(void)
struct displaced_step_closure * step_closure
int gdbarch_get_longjmp_target_p(struct gdbarch *gdbarch)
enum bpstat_what_main_action main_action
LONGEST parse_and_eval_long(const char *exp)