.gdbinit revision 960ca33b37540da5d863a4c0a88092d5ec85b3da
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User# gdb macros which may be useful for folks using gdb to debug
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User# apache. Delete it if it bothers you.
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Huntdefine dump_table
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt set $t = (apr_table_entry_t *)((apr_array_header_t *)$arg0)->elts
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt set $n = ((apr_array_header_t *)$arg0)->nelts
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt set $i = 0
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews while $i < $n
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews printf "[%u] '%s'='%s'\n", $i, $t[$i].key, $t[$i].val
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews set $i = $i + 1
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews end
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrewsend
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrewsdocument dump_table
7ec97ae74e42ec21b354fd2d1366313b41d947d6Evan Hunt Print the key/value pairs in a table.
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrewsend
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews
002f1373374a0b72fc0329baa682917929bef168Tony Finch
002f1373374a0b72fc0329baa682917929bef168Tony Finchdefine rh
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews run -f /home/dgaudet/ap2/conf/mpm.conf
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrewsend
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrewsdefine ro
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews run -DONE_PROCESS
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrewsend
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrewsdefine dump_string_array
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews set $a = (char **)((apr_array_header_t *)$arg0)->elts
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews set $n = (int)((apr_array_header_t *)$arg0)->nelts
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews set $i = 0
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt while $i < $n
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt printf "[%u] '%s'\n", $i, $a[$i]
5c78f1f50e53d8e2ed51a187efc2c9a0f43b4b1bMark Andrews set $i = $i + 1
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews end
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrewsend
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrewsdocument dump_string_array
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews Print all of the elements in an array of strings.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrewsend
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrewsdefine dump_bucket
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews set $bucket = $arg0
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt printf "bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt $bucket->type->name, \
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews (unsigned long)$bucket, (long)$bucket->length, \
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews (unsigned long)$bucket->data
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrewsend
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrewsdocument dump_bucket
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews Print bucket info
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrewsend
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews
1cf118a656f5fd210787908b845362077fc507f8Evan Huntdefine dump_brigade
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt set $bb = $arg0
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt set $bucket = ((&((apr_bucket_brigade *)$bb)->list))->next
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt set $sentinel = ((char *)((&(((apr_bucket_brigade *)$bb)->list)) \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt - ((size_t) &((struct apr_bucket *)0)->link)))
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt set $i = 0
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt printf "dump of brigade 0x%lx\n", (unsigned long)$bb
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman if $bucket == $sentinel
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman printf "brigade is empty\n"
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman end
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman while $bucket != $sentinel
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman printf " %d: bucket=%s(0x%lx), length=%ld, data=0x%lx\n", \
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman $i, $bucket->type->name, \
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews (unsigned long)$bucket, (long)$bucket->length, \
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews (unsigned long)$bucket->data
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews set $i = $i + 1
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews set $bucket = $bucket->link.next
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews end
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsend
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsdocument dump_brigade
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt Print bucket brigade info
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntend
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntdefine dump_filters
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt set $f = $arg0
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont while $f
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont printf "%s(0x%lx): ctx=0x%lx, r=0x%lx, c=0x%lx\n", \
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont $f->frec->name, (unsigned long)$f, (unsigned long)$f->ctx, \
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont $f->r, $f->c
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień set $f = $f->next
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień end
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńend
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńdocument dump_filters
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman Print filter chain info
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaramanend
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman