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

时间:2017-03-07 00:38:46

标签: c++ g++ gnu

我正在使用Linux ubuntu 16.04上的c ++程序,并且我已经完成了关于gnu调试器的教程。

我的代码存在一些问题,当我逐步完成时,我可以更轻松地比较每个部分fullPathargv[1]

的两个变量

但是,一旦我越过该特定细分,我想删除argv[1]

我用以下内容打电话给他们:

  

显示argv [1]

     

显示fullPath

但是当我尝试使用argv[1]删除undisplay argv[1]时,我收到的错误内容如下:

  

警告:argv [1]'

或附近的显示号码错误

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

请注意 我也试过了delete argv[1]这也不起作用。

1 个答案:

答案 0 :(得分:2)

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

info display

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

undisplay 3