在Solaris上构建大型应用程序是没有任何信息的

时间:2010-12-10 15:05:14

标签: c++ build compilation solaris

我正在尝试在Solaris上编译一个相当大的应用程序。在AIX上编译它会导致命令行缓冲区太小(ARG_MAX)的问题。

在Solaris上,它成功地编译了大部分应用程序但是它只是挂起并且没有任何错误,在至少一个小时内无法执行任何操作。

我在SunOS 5.10 Sparc 32位上运行它。

有关如何了解正在发生的事情或可能导致此类行为的任何想法?

3 个答案:

答案 0 :(得分:0)

我无法判断编辑是否挂起,或者您的应用本身。

如果应用程序挂起,只需按照常规调试步骤操作:在调试器中运行它并观察它何时死机,或者添加打印语句。

如果编译器死了,它是否总是死在同一个文件上?如果你自己编译该文件它仍然挂起?如果是这样,请在尝试构建挂起的文件时尝试truss 编译器。您可能会发现它在I / O上阻塞等待某些不存在的文件或类似的东西。

答案 1 :(得分:0)

您可能需要做的是:

  1. 注释掉或删除99%的代码并编译
  2. 重新添加约5%的代码并编译

    如果您添加的最后一件事导致小时挂起,则将其拆分

  3. 返回第2步

答案 2 :(得分:0)

仅限那些将来遇到此事的人。 问题是优化标志导致它花费很长时间来编译。我正在谈一个cpp文件1个多小时。

这是一个很大的项目。 此外,SUN盒子上的Sys Admin出现问题,但没有给我足够的CPU份额。 增加它解决了这个问题,使其更快,并在合理的时间范围内。

我希望这会有所帮助