Почему GDB не удаляет вспомогательные переменные? - PullRequest
0 голосов
/ 21 января 2019

Согласно документации здесь , состояния GDB:

Функция: gdb.set_convenience_variable (имя, значение)
[...] Если значение равно None, вспомогательная переменная удаляется.

но когда я выполню

gdb.set_convenience_variable('foo', 1)
gdb.set_convenience_variable('foo', None)

a show conv в оболочке gdb показывает $foo = void. Ожидаемое поведение - GDB полностью удалит переменную. В пользовательской команде я использую uuids в качестве имен переменных на стороне gdb для хранения промежуточных результатов выражений (чтобы избежать конфликтов имен), поэтому эти переменные не идеальны. Я ничего не видел об этом в gdb bug tracker , и, просматривая код, он не появляется, есть способ фактически удалить вспомогательную переменную - просто установите его в void ( здесь ).

...