我有一个核心转储,因为我有一棵树的根指针,我想计算该树当前的节点数。
下面的C代码返回了节点的数量,相同的GDB脚本会是什么?有人能帮我写GDB脚本吗?
int count(struct node *root){
if(root == NULL) {
return 0;
}
else {
return 1 + count(root->left) + count(root->right);
}
}
我还没有测试过这一点,但您应该能够将代码翻译成GDB脚本:
(gdb) define lcount
if $arg0 == 0
return 0
end
return 1 + lcount($arg0->left) + lcount($arg0->right)
end
(gdb) lcount(root)
此处提供文档。