GDB中是否有任何命令可以直接在链表中找出特定元素(比如第20个)的值?
答案 0 :(得分:4)
您可以创建适当的用户定义函数(在gdb中)。例如,假设您通过访问->next
到达链接列表中的下一个元素,我们可以创建一个函数xyzzy
,如下所示(来自gdb的提示符):
define xyzzy
set $current = $arg0
set $ii = $arg1
while ($ii > 0)
set $ii = $ii - 1
set $current = $current->next
end
print (something appropriate with $current)
end
然后你创建了一个带有两个参数的函数。第一个是链接列表中的元素,第二个是您要遵循的->next
个数。你需要在打印线上放一些合适的东西。