构建代码时,我一直在开发一个C++应用到在64位的Ubuntu 12.04运行。我在我的32位12.04 Ubuntu笔记本电脑上开发代码,然后将其上传到一个git存储库,将其拉到服务器上,并本机构建拉动的源代码。克++ 4.6.3崩溃64位服务器
直到最近事情运作良好,我没有问题,但今天g ++ 4.6.3崩溃时,我试图在64位服务器上编译,我得到了一个输出告诉我要提交崩溃报告(g ++ 4.6.3是我的开发机器上也有同样的版本)。相同的代码不会导致我的开发机器崩溃。
我不问为什么它坠毁,但我想知道的是如果可能的话有什么问题。 g ++在遇到问题时是否生成任何文件日志? 据我可以告诉我的代码没有任何争议,我没有创建模板,我只是使用一些boost库,mysql ++,openssl和我自己编写的一些静态库。 我真的需要每天运行这个应用程序,所以我想尽快解决这个问题。我可以想出以下办法来处理事情
- 试着找出我的代码的哪个方面导致编译器崩溃并相应地重写我的代码。
- 租另一台服务器。
- 升级(或降级)克++或在服务器上创建一个额外的g ++以及尝试。我不愿意这样做,因为我读过在Ubuntu上升级g ++时可能会毁掉您的系统。
- 我使用Eclipse我开发的机器上建立的一切,只是建立使用Eclipse生成的,我所做的Git项目的一部分生成文件在我的服务器上的代码 - 我可以写我自己的Makefile万一东西在里面导致崩溃在64位服务器上。
我会如何进行真正欢迎咨询。我不是编译器如何在内部工作的专家,这是我第一次遇到这种错误,因此我不确定接下来要做什么。
是否错误指示代码坠毁就行了?你能粘贴这些代码吗?像这样的问题通常的解决方法是对代码进行微小的更改,直到编译完成。 (例如,将复杂的语句分解为两个简单的语句。) – 2013-04-11 07:15:40
@DavidSchwartz不幸的是,它不报告该行。我希望能够在这里找到一些有关编译器崩溃报告的信息,以便找到导致问题的线路。谢谢你的建议 - 它给了我一个开始的地方。我可以回滚到我的最后一个编译版本,并从那里开始 – mathematician1975 2013-04-11 07:18:12
请尝试在此处平分并报告结果。很有意思。 – 2013-04-11 07:19:49