gdb 调试中No symbol in current context 故障定位

来源:互联网 发布:国内软件开发公司排名 编辑:程序博客网 时间:2024/05/17 06:02

 在linux环境下的c++程序, 编译选项用了-g   但是当调试的时候却出了问题,代码如下:

for(...){     string variable2;     ....}

gdb   ->   file   filename->   p   variable2
结果出现No   symbol   "variable2 "   in   current   context的错误。
但是运行结果不受影响。

原因为:

g++编译时局部变量被优化到寄存器里了,此时是无法在内存中查看变量的值的。

尝试过-O0,不起作用,目前还不知道怎么解决。