我有一个链表
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 打印整个链表?
我有一个链表
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 打印整个链表?
这应该有效(但未经测试):
define plist
set var $n = $arg0->head
while $n
printf "%d ", $n->data
set var $n = $n->next
end
end
(gdb) plist myList
你可以plist
放入~/.gdbinit
GDB 可以在 Python 中编写脚本。您可以定义自己的漂亮打印机并做其他有用的事情。
更好的是,使用标准容器,GDB 现在支持原生打印。