summaryrefslogtreecommitdiff
path: root/hurd/debugging
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2007-09-06 17:57:47 +0200
committerThomas Schwinge <tschwinge@gnu.org>2007-09-06 18:45:58 +0200
commit9fa541250ccda3cd9a3f384d987d1c113304350b (patch)
treea4ba910df556cfb7a8a454d5983c77dd355475a5 /hurd/debugging
parent83d6d51953fdbf2ec8b3e3ad812fa30341a4cb01 (diff)
Factor out `hurd/debugging/gdb' and create `hurd/debugging/rpctrace'.
Diffstat (limited to 'hurd/debugging')
-rw-r--r--hurd/debugging/gdb.mdwn26
-rw-r--r--hurd/debugging/gdb/noninvasive_debugging.mdwn23
-rw-r--r--hurd/debugging/rpctrace.mdwn42
3 files changed, 91 insertions, 0 deletions
diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn
new file mode 100644
index 00000000..75474128
--- /dev/null
+++ b/hurd/debugging/gdb.mdwn
@@ -0,0 +1,26 @@
+[[license text="""
+Copyright © 2007 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the
+terms of the GNU Free Documentation License, Version 1.2 or any later version
+published by the Free Software Foundation; with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
+in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]].
+
+By contributing to this page, you agree to assign copyright for your
+contribution to the Free Software Foundation. The Free Software Foundation
+promises to always use either a verbatim copying license or a free
+documentation license when publishing your contribution. We grant you back all
+your rights under copyright, including the rights to copy, modify, and
+redistribute your contributions.
+"""]]
+
+The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/) works on GNU/Hurd
+systems as it does on other system, but has some additional [hurd-specific
+features](http://sourceware.org/gdb/current/onlinedocs/gdb_19.html#Hurd%20Native)
+to offer, such as [[noninvasive_debugging]] (for avoiding [[deadlock]]s), for
+example.
+
+* [Manual](http://sourceware.org/gdb/documentation/)
+
+* [When disassemble doesn't work](http://lists.gnu.org/archive/html/bug-hurd/2007-02/msg00039.html)
diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn
new file mode 100644
index 00000000..fc6653e7
--- /dev/null
+++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn
@@ -0,0 +1,23 @@
+[[license text="""
+Copyright © 2007 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the
+terms of the GNU Free Documentation License, Version 1.2 or any later version
+published by the Free Software Foundation; with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
+in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]].
+
+By contributing to this page, you agree to assign copyright for your
+contribution to the Free Software Foundation. The Free Software Foundation
+promises to always use either a verbatim copying license or a free
+documentation license when publishing your contribution. We grant you back all
+your rights under copyright, including the rights to copy, modify, and
+redistribute your contributions.
+"""]]
+
+Sometimes using [[GDB]] on a system server can result in a [[deadlock]]. You
+can however still use GDB by using the [`set
+noninvasive`](http://sourceware.org/gdb/current/onlinedocs/gdb_19.html#Hurd%20Native)
+option. This indicates to GDB to not stop the program but allows you to
+nevertheless examine its state. Thus, you can get back traces and value of
+variables (and watch them change underneath you).
diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn
new file mode 100644
index 00000000..c2aabc42
--- /dev/null
+++ b/hurd/debugging/rpctrace.mdwn
@@ -0,0 +1,42 @@
+[[license text="""
+Copyright © 2007 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the
+terms of the GNU Free Documentation License, Version 1.2 or any later version
+published by the Free Software Foundation; with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
+in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]].
+
+By contributing to this page, you agree to assign copyright for your
+contribution to the Free Software Foundation. The Free Software Foundation
+promises to always use either a verbatim copying license or a free
+documentation license when publishing your contribution. We grant you back all
+your rights under copyright, including the rights to copy, modify, and
+redistribute your contributions.
+"""]]
+
+*rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or
+BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is
+doing.
+
+See `rpctrace --help` about how to use it.
+
+
+# Issues and Patches
+
+* <http://savannah.gnu.org/patch/?2104> -- don't assert that local port names
+ are valid
+* <http://savannah.gnu.org/bugs/?3939> -- `rpctrace`d program hangs when signal
+ that terminates or suspends it is sent
+ * <http://savannah.gnu.org/patch/?1633> -- terminated with `C-c` `rpctrace`d
+ programs hang
+* <http://savannah.gnu.org/patch/?5580> -- more readable output
+* <http://savannah.gnu.org/bugs/?20612> -- heisenbug
+
+
+# TODO
+
+ <youpi> how to rpctrace a translator ?
+ <youpi> ah, just settrans /usr/bin/rpctrace...
+ <youpi> hum, it hung, and killing it got a Mach panic (thread in unexpected
+ state) ...