Skip to content

Instantly share code, notes, and snippets.

@orimanabu
Created November 21, 2018 04:23
Show Gist options
  • Save orimanabu/0c14d88f507302e42f8badac51b4bfab to your computer and use it in GitHub Desktop.
Save orimanabu/0c14d88f507302e42f8badac51b4bfab to your computer and use it in GitHub Desktop.
dump servers value from dnsmasq using gdb
define server_list
set var $s = (*dnsmasq_daemon)->servers
echo \n
echo struct server *:\n
print $s
while $s
echo .domain:\n
print $s.domain
echo .addr.in.sin_addr.s_addr:\n
print $s.addr.in.sin_addr.s_addr
call inet_ntoa($s.addr.in.sin_addr.s_addr)
echo \n
set var $s = $s->next
echo struct server *:\n
print $s
end
echo \n
end
server_list
quit
# [root@ocp311-node1 ~]# gdb --batch -q -p $(systemctl show dnsmasq -p MainPID | sed -e 's/^MainPID=//') -x y.gdb | sed -e 's/^/# /'
# [Thread debugging using libthread_db enabled]
# Using host libthread_db library "/lib64/libthread_db.so.1".
# 0x00007f7d538f61f0 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81
# 81 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
#
# struct server *:
# $1 = (struct server *) 0x55f4c14122e0
# .domain:
# $2 = 0x0
# .addr.in.sin_addr.s_addr:
# $3 = 191041708
# $4 = 0x7f7d5425f858 "172.16.99.11"
#
# struct server *:
# $5 = (struct server *) 0x55f4c140eb90
# .domain:
# $6 = 0x55f4c14150c0 "in-addr.arpa"
# .addr.in.sin_addr.s_addr:
# $7 = 16777343
# $8 = 0x7f7d5425f858 "127.0.0.1"
#
# struct server *:
# $9 = (struct server *) 0x55f4c1415110
# .domain:
# $10 = 0x55f4c140eb70 "cluster.local"
# .addr.in.sin_addr.s_addr:
# $11 = 16777343
# $12 = 0x7f7d5425f858 "127.0.0.1"
#
# struct server *:
# $13 = (struct server *) 0x0
#
# A debugging session is active.
#
# Inferior 1 [process 4094] will be detached.
#
# Quit anyway? (y or n) [answered Y; input not from terminal]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment