From 0fffbdc8580be78c4dd78ae46159b76edb8ed5cf Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlImWQ0mMH7D7eCII7m2tVfqYM5UgRjTvA" Date: Fri, 24 Feb 2012 05:35:02 -0800 Subject: [PATCH] word wrapping --- AFSLore/debugging.mdwn | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/AFSLore/debugging.mdwn b/AFSLore/debugging.mdwn index 28a7383..4d55dff 100644 --- a/AFSLore/debugging.mdwn +++ b/AFSLore/debugging.mdwn @@ -1,9 +1,6 @@ ## Debugging Servers -Servers are multithreaded, so if one hangs, it is most interesting to see
-what the different threads are doing.
-Using gdb, you can get a stack trace of all threads
-(provided, you compiled your server with "--enable-debug"). +Servers are multithreaded, so if one hangs, it is most interesting to see what the different threads are doing. Using gdb, you can get a stack trace of all threads (provided, you compiled your server with "--enable-debug"). First, we need to get the pid and the full path of the server (e.g. fileserver): @@ -31,24 +28,15 @@ displays only threads which are not in this boring rx_GetCall (threads are waiti ### intermittent issues Low-level debugging of a client can be done using "fstrace".
-Unfortunately, this produces a lot of output, so it is not easy -to catch an intermittent error-condition with "fstrace". +Unfortunately, this produces a lot of output, so it is not easy to catch an intermittent error-condition with "fstrace". The attached script [[ClientTracing.py]] (presently for Unix only) gives you the opportunity to continuously run a fstrace,
where the output is stored in rotating log-files. -In case of an external-event (the existence of a predefined file),
-it saves this log and does not overwrite it again. +In case of an external-event (the existence of a predefined file), it saves this log and does not overwrite it again. Thus, all you need to do is to write a script which creates this predefined file, when that event happens. ### defined issue -When you exactly know how to reproduce the issue, or you don't want to install python on your client,
-you can use the attached script [[ClientTracing.bat]] (for Windows only).
-It is setting up the client tracing, starting up a tshark (terminal-version of wireshark)
- and waits for you to tell it to stop tracing.
-In order to synchronize the timestamps of the wireshark log and the afsd-trace-log,
-a "dir \\AFS\openafs.org" is issued on startup.
-The logfiles are copied to a predefined directory.
-The script itself should be self-explanatory.] +When you exactly know how to reproduce the issue, or you don't want to install python on your client, you can use the attached script [[ClientTracing.bat]] (for Windows only). It is setting up the client tracing, starting up a tshark (terminal-version of wireshark) and waits for you to tell it to stop tracing. In order to synchronize the timestamps of the wireshark log and the afsd-trace-log, a "dir \\AFS\openafs.org" is issued on startup. The logfiles are copied to a predefined directory. The script itself should be self-explanatory.] -- 1.9.4