完整的错误消息:
GLib-CRITICAL **: g_main_loop_is_running: assertion 'g_atomic_int_get (&loop->ref_count) > 0' failed
Segmentation fault
Process returned 139 (0x8B)
我正在ubuntu上编写一个c ++ 11程序。
从我能读到的内容来看,它与二进制阅读有关。当我尝试加载文件时确实会发生这种情况。令人困惑的是,当我尝试打开一个文件时,它始终抛出该错误,但它始终设法打开另一个文件。更令人困惑的是,有时在显示弹出窗口时抛出错误,而没有执行任何代码。
所有这一切,我的读取内容的代码看起来像这样(在标题中):
int ri(std::ifstream& _in)
{
int _i;
_in.read(reinterpret_cast<char*>(&_i),_intsize);
return _i;
};
我认为这是唯一相关的代码,因为崩溃显然是在加载过程中随机发生的。它也可能与堆栈溢出有关,但上面的错误消息是我从控制台中出来的唯一错误消息。