为什么GDB不删除方便变量?

为什么GDB不删除方便变量?,gdb,gdb-python,Gdb,Gdb Python,根据文件,gdb声明: 函数:gdb.set\u便利性\u变量(名称、值) […]如果值为None,则删除便利变量 但当我执行 gdb.set\u便利性\u变量('foo',1) gdb.set\u便利性\u变量('foo',无) gdb shell中的show conv显示$foo=void。预期的行为是gdb将完全删除该变量。在自定义命令中,我在gdb端使用UUID作为变量名来保存中间表达式结果(以避免名称冲突),因此保留这些变量并不理想。我在gdb中没有看到任何关于这一点的信息,并且通过

根据文件,gdb声明:

函数:gdb.set\u便利性\u变量(名称、值)
[…]如果值为None,则删除便利变量

但当我执行

gdb.set\u便利性\u变量('foo',1)
gdb.set\u便利性\u变量('foo',无)

gdb shell中的
show conv
显示
$foo=void
。预期的行为是gdb将完全删除该变量。在自定义命令中,我在gdb端使用UUID作为变量名来保存中间表达式结果(以避免名称冲突),因此保留这些变量并不理想。我在gdb中没有看到任何关于这一点的信息,并且通过代码查看,似乎没有一种方法可以实际删除方便变量-只需将其设置为void()。

我同意。说明了为什么没有立即实现:该函数只是在现有内部变量列表的前面加上前缀。从这样一个单链表中删除一个元素并不是一件小事,因为你必须拼接相应的元素,任何实现过单链表的人都可以证明这一点,但这也不难。。。让我看看。如果你发现这样的问题,请考虑自己提交这样的bug报告! 事实上,自从我报告之后,那个bug报告就没有发生任何事情。。。因此,我想提炼我最后一句“如果你发现这样的问题,如果你发现这样的问题,如果项目有一个被证明的历史,照顾这些报告!”