.gdbinit revision 960ca33b37540da5d863a4c0a88092d5ec85b3da
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding# gdb macros which may be useful for folks using gdb to debug
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding# apache. Delete it if it bothers you.
f3220f54126b25e1cf93cc26c17177b7aef850fdfieldingdefine dump_table
1708435e9c63465fd70c21025bd51cb44170d2dbdougm set $t = (apr_table_entry_t *)((apr_array_header_t *)$arg0)->elts
1708435e9c63465fd70c21025bd51cb44170d2dbdougm set $n = ((apr_array_header_t *)$arg0)->nelts
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding while $i < $n
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding printf "[%u] '%s'='%s'\n", $i, $t[$i].key, $t[$i].val
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding set $i = $i + 1
f3220f54126b25e1cf93cc26c17177b7aef850fdfieldingdocument dump_table
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding Print the key/value pairs in a table.
75ad9d694b36c11047c0b747cf7fc31a4fdbf6e4dougm run -DONE_PROCESS
f3220f54126b25e1cf93cc26c17177b7aef850fdfieldingdefine dump_string_array
1708435e9c63465fd70c21025bd51cb44170d2dbdougm set $a = (char **)((apr_array_header_t *)$arg0)->elts
1708435e9c63465fd70c21025bd51cb44170d2dbdougm set $n = (int)((apr_array_header_t *)$arg0)->nelts
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding while $i < $n
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding printf "[%u] '%s'\n", $i, $a[$i]
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding set $i = $i + 1
f3220f54126b25e1cf93cc26c17177b7aef850fdfieldingdocument dump_string_array
f3220f54126b25e1cf93cc26c17177b7aef850fdfielding Print all of the elements in an array of strings.
e5d6e4b6e930968edfdc8e94c67988eb34382619dougmdefine dump_bucket
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm set $bucket = $arg0
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm printf "bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm $bucket->type->name, \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm (unsigned long)$bucket, (long)$bucket->length, \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm (unsigned long)$bucket->data
e5d6e4b6e930968edfdc8e94c67988eb34382619dougmdocument dump_bucket
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm Print bucket info
e5d6e4b6e930968edfdc8e94c67988eb34382619dougmdefine dump_brigade
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm set $bb = $arg0
80df63f3cc9ce3e1c5a96afd959d453a0561e854dougm set $bucket = ((&((apr_bucket_brigade *)$bb)->list))->next
80df63f3cc9ce3e1c5a96afd959d453a0561e854dougm set $sentinel = ((char *)((&(((apr_bucket_brigade *)$bb)->list)) \
80df63f3cc9ce3e1c5a96afd959d453a0561e854dougm - ((size_t) &((struct apr_bucket *)0)->link)))
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm printf "dump of brigade 0x%lx\n", (unsigned long)$bb
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm if $bucket == $sentinel
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm printf "brigade is empty\n"
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm while $bucket != $sentinel
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm printf " %d: bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm $i, $bucket->type->name, \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm (unsigned long)$bucket, (long)$bucket->length, \
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm (unsigned long)$bucket->data
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm set $i = $i + 1
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm set $bucket = $bucket->link.next
e5d6e4b6e930968edfdc8e94c67988eb34382619dougmdocument dump_brigade
e5d6e4b6e930968edfdc8e94c67988eb34382619dougm Print bucket brigade info
960ca33b37540da5d863a4c0a88092d5ec85b3dadougmdefine dump_filters
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm set $f = $arg0
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm printf "%s(0x%lx): ctx=0x%lx, r=0x%lx, c=0x%lx\n", \
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm $f->frec->name, (unsigned long)$f, (unsigned long)$f->ctx, \
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm $f->r, $f->c
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm set $f = $f->next
960ca33b37540da5d863a4c0a88092d5ec85b3dadougmdocument dump_filters
960ca33b37540da5d863a4c0a88092d5ec85b3dadougm Print filter chain info