From 14d6dd6880dcc7a341c2f0483c0ce01c9320cca8 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 15 Apr 2005 11:53:52 +0000 Subject: [PATCH] * gdb.texinfo (Hurd Native): New subsection, documents Hurd-specific commands. --- gdb/doc/ChangeLog | 5 ++ gdb/doc/gdb.texinfo | 175 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 67e52f5cf59..d13f099ffd2 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2005-04-15 Eli Zaretskii + + * gdb.texinfo (Hurd Native): New subsection, documents + Hurd-specific commands. + 2005-04-09 Eli Zaretskii * gdb.texinfo (Print Settings): Document "set/show print diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index be9f3cbaa02..a19682bc332 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -12319,6 +12319,7 @@ configurations. * SVR4 Process Information:: SVR4 process information * DJGPP Native:: Features specific to the DJGPP port * Cygwin Native:: Features specific to the Cygwin port +* Hurd Native:: Features specific to @sc{gnu} Hurd @end menu @node HP-UX @@ -12835,6 +12836,180 @@ The author of these extensions is not entirely convinced that setting a break point within a shared DLL like @file{kernel32.dll} is completely safe. +@node Hurd Native +@subsection Commands specific to @sc{gnu} Hurd systems +@cindex @sc{gnu} Hurd debugging + +This subsection describes @value{GDBN} commands specific to the +@sc{gnu} Hurd native debugging. + +@table @code +@item set signals +@itemx set sigs +@kindex set signals@r{, Hurd command} +@kindex set sigs@r{, Hurd command} +This command toggles the state of inferior signal interception by +@value{GDBN}. Mach exceptions, such as breakpoint traps, are not +affected by this command. @code{sigs} is a shorthand alias for +@code{signals}. + +@item show signals +@itemx show sigs +@kindex show signals@r{, Hurd command} +@kindex show sigs@r{, Hurd command} +Show the current state of intercepting inferior's signals. + +@item set signal-thread +@itemx set sigthread +@kindex set signal-thread +@kindex set sigthread +This command tells @value{GDBN} which thread is the @code{libc} signal +thread. That thread is run when a signal is delivered to a running +process. @code{set sigthread} is the shorthand alias of @code{set +signal-thread}. + +@item show signal-thread +@itemx show sigthread +@kindex show signal-thread +@kindex show sigthread +These two commands show which thread will run when the inferior is +delivered a signal. + +@item set stopped +@kindex set stopped@r{, Hurd command} +This commands tells @value{GDBN} that the inferior process is stopped, +as with the @code{SIGSTOP} signal. The stopped process can be +continued by delivering a signal to it. + +@item show stopped +@kindex show stopped@r{, Hurd command} +This command shows whether @value{GDBN} thinks the debuggee is +stopped. + +@item set exceptions +@kindex set exceptions@r{, Hurd command} +Use this command to turn off trapping of exceptions in the inferior. +When exception trapping is off, neither breakpoints nor +single-stepping will work. To restore the default, set exception +trapping on. + +@item show exceptions +@kindex show exceptions@r{, Hurd command} +Show the current state of trapping exceptions in the inferior. + +@item set task pause +@kindex set task@r{, Hurd commands} +@cindex task attributes (@sc{gnu} Hurd) +@cindex pause current task (@sc{gnu} Hurd) +This command toggles task suspension when @value{GDBN} has control. +Setting it to on takes effect immediately, and the task is suspended +whenever @value{GDBN} gets control. Setting it to off will take +effect the next time the inferior is continued. If this option is set +to off, you can use @code{set thread default pause on} or @code{set +thread pause on} (see below) to pause individual threads. + +@item show task pause +@kindex show task@r{, Hurd commands} +Show the current state of task suspension. + +@item set task detach-suspend-count +@cindex task suspend count +@cindex detach from task, @sc{gnu} Hurd +This command sets the suspend count the task will be left with when +@value{GDBN} detaches from it. + +@item show task detach-suspend-count +Show the suspend count the task will be left with when detaching. + +@item set task exception-port +@itemx set task excp +@cindex task exception port, @sc{gnu} Hurd +This command sets the task exception port to which @value{GDBN} will +forward exceptions. The argument should be the value of the @dfn{send +rights} of the task. @code{set task excp} is a shorthand alias. + +@item set noninvasive +@cindex noninvasive task options +This command switches @value{GDBN} to a mode that is the least +invasive as far as interfering with the inferior is concerned. This +is the same as using @code{set task pause}, @code{set exceptions}, and +@code{set signals} to values opposite to the defaults. + +@item info send-rights +@itemx info receive-rights +@itemx info port-rights +@itemx info port-sets +@itemx info dead-names +@itemx info ports +@itemx info psets +@cindex send rights, @sc{gnu} Hurd +@cindex receive rights, @sc{gnu} Hurd +@cindex port rights, @sc{gnu} Hurd +@cindex port sets, @sc{gnu} Hurd +@cindex dead names, @sc{gnu} Hurd +These commands display information about, respectively, send rights, +receive rights, port rights, port sets, and dead names of a task. +There are also shorthand aliases: @code{info ports} for @code{info +port-rights} and @code{info psets} for @code{info port-sets}. + +@item set thread pause +@kindex set thread@r{, Hurd command} +@cindex thread properties, @sc{gnu} Hurd +@cindex pause current thread (@sc{gnu} Hurd) +This command toggles current thread suspension when @value{GDBN} has +control. Setting it to on takes effect immediately, and the current +thread is suspended whenever @value{GDBN} gets control. Setting it to +off will take effect the next time the inferior is continued. +Normally, this command has no effect, since when @value{GDBN} has +control, the whole task is suspended. However, if you used @code{set +task pause off} (see above), this command comes in handy to suspend +only the current thread. + +@item show thread pause +@kindex show thread@r{, Hurd command} +This command shows the state of current thread suspension. + +@item set thread run +This comamnd sets whether the current thread is allowed to run. + +@item show thread run +Show whether the current thread is allowed to run. + +@item set thread detach-suspend-count +@cindex thread suspend count, @sc{gnu} Hurd +@cindex detach from thread, @sc{gnu} Hurd +This command sets the suspend count @value{GDBN} will leave on a +thread when detaching. This number is relative to the suspend count +found by @value{GDBN} when it notices the thread; use @code{set thread +takeover-suspend-count} to force it to an absolute value. + +@item show thread detach-suspend-count +Show the suspend count @value{GDBN} will leave on the thread when +detaching. + +@item set thread exception-port +@itemx set thread excp +Set the thread exception port to which to forward exceptions. This +overrides the port set by @code{set task exception-port} (see above). +@code{set thread excp} is the shorthand alias. + +@item set thread takeover-suspend-count +Normally, @value{GDBN}'s thread suspend counts are relative to the +value @value{GDBN} finds when it notices each thread. This command +changes the suspend counts to be absolute instead. + +@item set thread default +@itemx show thread default +@cindex thread default settings, @sc{gnu} Hurd +Each of the above @code{set thread} commands has a @code{set thread +default} counterpart (e.g., @code{set thread default pause}, @code{set +thread default exception-port}, etc.). The @code{thread default} +variety of commands sets the default thread properties for all +threads; you can then change the properties of individual threads with +the non-default commands. +@end table + + @node Embedded OS @section Embedded Operating Systems -- 2.30.2