在用g++4.1.2 编译一个文件,只加了-g参数
gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)
#include
#include
using namespace std;
bool test_string( string temp1 , string temp2 ){
string a1 = temp1;
string a2 = temp2;
cout<< temp1 << temp2<}
int main( int argc , char ** argv ){
test_string("test1" , "test21");
return 0;
}
在用gdb跟进test_string函数后,用p命令显示temp1 和temp2 为乱码。
但在执行到cout<< temp1 << temp2<
然后cout<< temp1 << temp2<
换g++ 3.4.6 后一切正常。
gdb版本为:
GNU gdb Fedora (6.8-27.el5)
大家引以为戒!!我废了不少时间才找到问题所在的。
阅读(584) | 评论(0) | 转发(0) |