summaryrefslogtreecommitdiffstats
path: root/doc/wiki/Debugging.ProcessTracing.txt
blob: 89ea41ae6ba8bf6bbbbd36920a0ae076788cb1e5 (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
34
35
36
37
38
39
40
41
42
43
44
Process Tracing
===============

If a Dovecot's process hangs or is just really slow, the best way to debug it
is to see what it's really doing. Typically you'd be looking into imap or pop3
processes.

Linux
-----

---%<-------------------------------------------------------------------------
strace -tt -o log -p <process pid>
---%<-------------------------------------------------------------------------

BSDs, OS X <= 10.4
------------------

---%<-------------------------------------------------------------------------
# enable process tracing
ktrace -f log -p <process pid>
# do whatever makes it break, then stop the process tracing:
ktrace -C
# and see what it's done:
kdump -T -f log
---%<-------------------------------------------------------------------------

OS X >= 10.5
------------

---%<-------------------------------------------------------------------------
dtruss -p <process id>
---%<-------------------------------------------------------------------------

Solaris
-------

---%<-------------------------------------------------------------------------
truss -d -r0 -w1 -o log -p <process pid>
---%<-------------------------------------------------------------------------

'-r0' and '-w1' cause all IMAP input/output to be logged. '-d' adds timestamps
to the log.

(This file was created from the wiki on 2019-06-19 12:42)