summaryrefslogtreecommitdiff
path: root/hurd/debugging/rpctrace.mdwn
blob: 05003fab8ed3ac144c155061e74ea3ec31ae39d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]]
[[meta license="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]]."]]

*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) ...