我正試圖在Solaris上編譯一個相當大的應用程序。在AIX上編譯會導致命令行緩衝區太小的問題(ARG_MAX
)。在Solaris上構建大型應用程序掛起時沒有任何信息
在Solaris上,它成功地編譯了大部分應用程序,但是它只是掛起而沒有任何錯誤,至少在一個小時內不會執行任何操作。
我在SunOS 5.10 Sparc 32位上運行它。
有關如何找出正在發生的事情或可能導致此類行爲的任何想法?
我正試圖在Solaris上編譯一個相當大的應用程序。在AIX上編譯會導致命令行緩衝區太小的問題(ARG_MAX
)。在Solaris上構建大型應用程序掛起時沒有任何信息
在Solaris上,它成功地編譯了大部分應用程序,但是它只是掛起而沒有任何錯誤,至少在一個小時內不會執行任何操作。
我在SunOS 5.10 Sparc 32位上運行它。
有關如何找出正在發生的事情或可能導致此類行爲的任何想法?
僅限於未來遇到此問題的人。 問題是優化標誌導致它需要很長時間才能編譯。我正在說1個小時以上一個cpp文件。
這是個大項目。 另外,SUN系統管理員在給出足夠的CPU份額時出現了問題。 越來越多地解決了這個問題,並且在合理的時間範圍內做得更快。
我希望這有助於
我不知道編譯是掛起還是應用程序本身。
如果應用程序掛起,只需按照通常的調試步驟:在調試器中運行它並觀察它何時死亡或添加打印語句。
如果編譯器死了,它會一直死在同一個文件上嗎?如果你自己編譯該文件,它仍然會掛起?如果是這樣,當您嘗試生成掛起的文件時,請嘗試使用編譯器。你可能會發現它阻止了I/O等待一些不存在的文件或類似的東西。
它不會死......只是掛起...而不是它的應用程序它掛着的編譯...和它在同一個文件上做...什麼是桁架從來沒有聽說過它 – grobartn 2010-12-10 15:48:25
你可能需要做的是:
回到中的代碼添加的5%左右,並編譯
如果添加的最後一件事引起了小時掛則將其分解
回到步驟2
在同一地點的AIX和SunOS故障?什麼應用? – nmichaels 2010-12-10 15:08:15
另外,你在每個平臺上使用什麼編譯器/版本? – andand 2010-12-10 15:26:40
我曾見過優化器在某些文件上「掛起」的情況。 您可以嘗試禁用有問題的源文件的優化。 – macgarden 2010-12-10 15:32:43