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

 

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

for(...)  
  1. {  
  2.      string variable2;  
  3.      ....  
  4.   
  5. }  

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

原因为:

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

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

http://blog.csdn.net/bruce_wang_janet/article/details/6780014

原文地址:https://www.cnblogs.com/catkins/p/5270823.html