Gnu 调试器无法从显示中删除变量?

Gnu debugger can't remove variable from display?

我正在 linux ubuntu 16.04 上开发一个 c++ 程序,我已经完成了一个关于 gnu 调试器的教程。

我的代码有一些问题,当我逐步执行它时,我更容易比较每个部分的两个变量 fullPathargv[1]

但是一旦我过了那个特定的部分,我想删除 argv[1]

我给他们打了以下电话:

display argv[1]

display fullPath

但是,当我尝试使用 undisplay argv[1] 删除 argv[1] 时,出现如下错误:

warning: bad display number at or near 'argv[1]'

它仍然继续显示 argv[1] 除非我退出调试器并再次启动它而不显示它。有办法解决这个问题吗?

注意 我也试过 delete argv[1] 也没用。

undisplay 命令需要列表编号,而不是表达式。您可以通过键入以下内容来查看所有自动显示表达式的列表编号:

info display

假设 argv[1] 被分配到该列表中的第 3 项。然后您将使用以下命令将其删除:

undisplay 3