程序在进入main()函数之前崩溃/退出的原因是什么?
我正在开发一个正常运行的项目。我添加了一些使用boost线程的代码,我更新了makefile(CMakeLists.txt),一切都编译和链接没有问题。
当我启动可执行文件时,我得到的只是提示。
为了检查程序是否开始执行某些操作,我在cerr << "TEST" << endl
中添加了main()
作为第一条指令,并且没有打印任何内容。
当然,当我尝试打印该字符串时,尚未创建任何线程。
在main()的开头设置一个断点是没用的。
系统: Windows 7,MinGW,GCC,cmake
问题可能出在某些全局类varible的构造函数中。他们将在main
之前被召唤。
另一个可能的情况是输出已被缓存,并且进入main后进程崩溃,请在输出行之后添加刷新输出,或者您可以重新打印1000次以确保它没有缓存。
在这种情况下,简单的方法是在调试器中运行它,它将缓存错误。