我的程序在进入main()函数之前退出

时间:2013-07-20 17:37:14

标签: c++ crash main

在进入main()函数之前程序崩溃/退出的原因是什么?

我正在开发一个正常运行的项目。我添加了一些使用boost线程的代码,我更新了makefile(CMakeLists.txt),一切都编译和链接没有问题。

当我启动可执行文件时,我得到的只是提示。

要检查程序是否开始执行某些操作,我在cerr << "TEST" << endl中添加main()作为第一条指令,并且不打印任何内容。

当然,当我尝试打印该字符串时,尚未创建任何线程。

在main()的开头设置一个断点是没用的。

系统:
Windows 7,MinGW,GCC,cmake

2 个答案:

答案 0 :(得分:5)

问题可能出在某些全局类varible的构造函数中。它们将在main之前调用。

答案 1 :(得分:0)

另一种可能的情况是输出已被缓存,进入main后进程崩溃,请在输出行后添加flush输出,或者你可以重新打印1000次以确保它没有被缓存

在这种情况下,简单的方法是在调试器中运行它,它将缓存错误。