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