C++ Debug exec工作正常,但正常一段故障
我有以下代码:-C++ Debug exec工作正常,但正常一段故障,c++,debugging,gcc,gdb,segmentation-fault,C++,Debugging,Gcc,Gdb,Segmentation Fault,我有以下代码:- void someFunc (someStruct* obj) { cout << obj->some_member; } 关于如何进一步缩小问题范围(或可能出现的错误)有何想法 编辑:- 嘿,原来这不是问题。代码中有一个不安全的内存访问,这在发布版本中(包括优化和所有)对gdb来说是上述代码行中的一个问题。 真正令人惊讶的是,我试图这样做:- void someFunc (someStruct* obj) { if (obj==NULL)
void someFunc (someStruct* obj) {
cout << obj->some_member;
}
关于如何进一步缩小问题范围(或可能出现的错误)有何想法
编辑:-
嘿,原来这不是问题。代码中有一个不安全的内存访问,这在发布版本中(包括优化和所有)对gdb来说是上述代码行中的一个问题。
真正令人惊讶的是,我试图这样做:-
void someFunc (someStruct* obj) {
if (obj==NULL) return;
cout<<"here1\n";
cout<<obj->some_member;
cout<<"here2\n"
}
有时和
here1
here2
有时候。这又让我有点困惑了。。。
但问题出在别处 试着在valgrind下跑步,这会给你一些线索我在发布自己的问题几分钟后发现了这个极好的问题。不过,这似乎没什么帮助。尝试打印出obj的值。i、 库特
here1
here1
here2