我正在Linux上使用GDB调试一个C++程序,我需要在程序运行时查看一个成员变量的值。不幸的是,这个成员变量的名称是list
,这恰好是一个GDB关键字。所以当我尝试:
打印m_operations.m_data[10].m_data.list
我得到...
代码中表达式语法错误,附近为列表。
我尝试了各种方法来指示GDB我正在输入一个文字表达式,比如在变量名周围加上双引号或单引号,但结果只是更多的语法错误。我查看了GDB手册,但没有找到任何解决方法。我不能重命名成员变量,因为我没有权限修改那个类。此外,list
是一个C++对象,不是常规整数或POD,所以我不能简单地使用x
关键字来检查那里的内存......至少不需要花费一些严肃的时间来解密原始二进制表示。
那么,有任何建议来解决这个问题吗?