GDB命令访问链表中的特定元素?

时间:2011-08-24 15:49:26

标签: gdb

GDB中是否有任何命令可以直接在链表中找出特定元素(比如第20个)的值?

1 个答案:

答案 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个数。你需要在打印线上放一些合适的东西。