summaryrefslogtreecommitdiff
path: root/.gdbinit
diff options
context:
space:
mode:
authorRuediger Pluem <rpluem@apache.org>2018-10-26 10:24:17 +0000
committerRuediger Pluem <rpluem@apache.org>2018-10-26 10:24:17 +0000
commit583d381791feb5372ef09243f261560a761f13ca (patch)
tree0edebc13022e75abcb564e010cc4d7a6e2568c01 /.gdbinit
parent8b3678b5a311df57af151d5ffe4606fb653f676e (diff)
downloadhttpd-583d381791feb5372ef09243f261560a761f13ca.tar.gz
* Add a command to dump some data from the scoreboard
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1844889 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '.gdbinit')
-rw-r--r--.gdbinit22
1 files changed, 22 insertions, 0 deletions
diff --git a/.gdbinit b/.gdbinit
index 15f6c426a8..31ebe0a98a 100644
--- a/.gdbinit
+++ b/.gdbinit
@@ -378,6 +378,28 @@ define dump_request_tree
end
end
+define dump_scoreboard
+ # Need to reserve size of array first before string literals could be
+ # put in
+ set $status = {0, 1, 2, 3, 4 ,5 ,6 ,7 ,8 ,9 ,10}
+ set $status = {"DEAD", "STARTING", "READY", "BUSY_READ", "BUSY_WRITE", "BUSY_KEEPALIVE", "BUSY_LOG", "BUSY_DNS", "CLOSING", "GRACEFUL", "IDLE_KILL"}
+ set $i = 0
+ while ($i < server_limit)
+ if ap_scoreboard_image->servers[$i][0].pid != 0
+ set $j = 0
+ while ($j < threads_per_child)
+ set $ws = ap_scoreboard_image->servers[$i][$j]
+ printf "pid: %d, tid: 0x%lx, status: %s\n", $ws.pid, $ws.tid, $status[$ws.status]
+ set $j = $j +1
+ end
+ end
+ set $i = $i +1
+ end
+end
+document dump_scoreboard
+ Dump the scoreboard
+end
+
define dump_allocator
printf "Allocator current_free_index = %d, max_free_index = %d\n", \
($arg0)->current_free_index, ($arg0)->max_free_index