我正在尝试在Solaris上编译一个相当大的应用程序。在AIX上编译它会导致命令行缓冲区太小(ARG_MAX
)的问题。
在Solaris上,它成功地编译了大部分应用程序但是它只是挂起并且没有任何错误,在至少一个小时内无法执行任何操作。
我在SunOS 5.10 Sparc 32位上运行它。
有关如何了解正在发生的事情或可能导致此类行为的任何想法?
答案 0 :(得分:0)
我无法判断编辑是否挂起,或者您的应用本身。
如果应用程序挂起,只需按照常规调试步骤操作:在调试器中运行它并观察它何时死机,或者添加打印语句。
如果编译器死了,它是否总是死在同一个文件上?如果你自己编译该文件它仍然挂起?如果是这样,请在尝试构建挂起的文件时尝试truss
编译器。您可能会发现它在I / O上阻塞等待某些不存在的文件或类似的东西。
答案 1 :(得分:0)
您可能需要做的是:
重新添加约5%的代码并编译
如果您添加的最后一件事导致小时挂起,则将其拆分
返回第2步
答案 2 :(得分:0)
仅限那些将来遇到此事的人。 问题是优化标志导致它花费很长时间来编译。我正在谈一个cpp文件1个多小时。
这是一个很大的项目。 此外,SUN盒子上的Sys Admin出现问题,但没有给我足够的CPU份额。 增加它解决了这个问题,使其更快,并在合理的时间范围内。
我希望这会有所帮助