Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在gdb中打印整个链接列表?_C++_Debugging_Ubuntu_Data Structures_Gdb - Fatal编程技术网

C++ 在gdb中打印整个链接列表?

C++ 在gdb中打印整个链接列表?,c++,debugging,ubuntu,data-structures,gdb,C++,Debugging,Ubuntu,Data Structures,Gdb,我有一个链表 struct node { data_t data; node_t *next; }; typedef struct { node_t *head; node_t *foot; node_t *curr; // for iterator unsigned int size; } list_t; 就这个结构来说 我定义了一个列表 list_t* myList; 如何使用GDB打印整个链接列表 GDB可以用Python编写脚本。

我有一个链表

struct node {
    data_t data;
    node_t *next;
};

typedef struct {
    node_t *head;
    node_t *foot;
    node_t *curr;   // for iterator
    unsigned int size;
} list_t;
就这个结构来说 我定义了一个列表

list_t* myList;

如何使用GDB打印整个链接列表

GDB可以用Python编写脚本。你可以做其他有用的事情

更好的是,使用标准容器,GDB现在支持本地打印这些内容。

这应该可以工作(但未经测试):


您可以将
plist
放入
~/.gdbinit

您可以编写一个函数来打印列表,并在
(gdb)
提示符处调用@timothyleng剪切/粘贴代码,或者使用编辑器放入
~/.gdbinit
define plist
  set var $n = $arg0->head
  while $n
    printf "%d ", $n->data
    set var $n = $n->next
  end
end

(gdb) plist myList