構建代碼時,我一直在開發一個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