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