根据此处的文档,gdb 指出:
功能:gdb.set_convenience_variable (name, value)
[...] 如果 value 为 None,则移除便利变量。
但是当我执行
gdb.set_convenience_variable('foo', 1)
gdb.set_convenience_variable('foo', None)
ashow conv
在 gdb shell 中显示$foo = void
. 预期的行为是 gdb 将完全删除该变量。在自定义命令中,我使用 uuids 作为 gdb 端的变量名来保存中间表达式结果(以避免名称冲突),因此保留这些变量并不理想。我在 gdb错误跟踪器中没有看到任何关于此的内容,并且通过代码它似乎没有实际删除便利变量的方法 - 只需将其设置为 void (此处)。