在linux环境下的c++程序, 编译选项用了-g 但是当调试的时候却出了问题,代码如下:
- {
- string variable2;
- ....
- }
gdb -> file filename-> p variable2
结果出现No symbol "variable2 " in current context的错误。
但是运行结果不受影响。
原因为:
g++编译时局部变量被优化到寄存器里了,此时是无法在内存中查看变量的值的。
尝试过-O0,不起作用,目前还不知道怎么解决。
http://blog.csdn.net/bruce_wang_janet/article/details/6780014