1 # gdb macros which may be useful for folks using gdb to debug
2 # apache. Delete it if it bothers you.
5 set $t = (apr_table_entry_t *)((apr_array_header_t *)$arg0)->elts
6 set $n = ((apr_array_header_t *)$arg0)->nelts
9 printf "[%u] '%s'='%s'\n", $i, $t[$i].key, $t[$i].val
14 Print the key/value pairs in a table.
19 run -f /home/dgaudet/ap2/conf/mpm.conf
26 define dump_string_array
27 set $a = (char **)((apr_array_header_t *)$arg0)->elts
28 set $n = (int)((apr_array_header_t *)$arg0)->nelts
31 printf "[%u] '%s'\n", $i, $a[$i]
35 document dump_string_array
36 Print all of the elements in an array of strings.
41 printf "bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
42 $bucket->type->name, \
43 (unsigned long)$bucket, (long)$bucket->length, \
44 (unsigned long)$bucket->data
52 set $bucket = ((&((apr_bucket_brigade *)$bb)->list))->next
53 set $sentinel = ((char *)((&(((apr_bucket_brigade *)$bb)->list)) \
54 - ((size_t) &((struct apr_bucket *)0)->link)))
57 printf "dump of brigade 0x%lx\n", (unsigned long)$bb
58 if $bucket == $sentinel
59 printf "brigade is empty\n"
62 while $bucket != $sentinel
63 printf " %d: bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
64 $i, $bucket->type->name, \
65 (unsigned long)$bucket, (long)$bucket->length, \
66 (unsigned long)$bucket->data
68 set $bucket = $bucket->link.next
72 Print bucket brigade info
78 printf "%s(0x%lx): ctx=0x%lx, r=0x%lx, c=0x%lx\n", \
79 $f->frec->name, (unsigned long)$f, (unsigned long)$f->ctx, \
85 Print filter chain info
88 define dump_process_rec
90 printf "process_rec=0x%lx:\n", (unsigned long)$p
91 printf " pool=0x%lx, pconf=0x%lx\n", \
92 (unsigned long)$p->pool, (unsigned long)$p->pconf
94 document dump_process_rec
95 Print process_rec info
98 define dump_server_rec
100 printf "name=%s:%d\n", \
101 $s->server_hostname, $s->port
102 dump_process_rec($s->process)
104 document dump_server_rec
105 Print server_rec info
116 document dump_servers
117 Print server_rec list info