0

我正在为动画程序编写代码,但遇到了问题。我需要设置核心转储。NetBeans 是这样说的:Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

我该怎么做才能开始核心转储?终端或字符串 args[] 中是否有任何内容?

注意:程序无法完全运行,所以我不知道发生了什么。

4

2 回答 2

2

打开终端并执行命令

$ ulimit -c unlimited

在此终端中,现在通过命令行启动您的 IDE Eclipse

$ /Path/To/Eclipse/Eclipse.app/Contents/MacOS/eclipse

但这不是解决程序运行时错误的解决方案。

于 2017-07-25T11:26:28.683 回答
0

问:您将不得不更详细地说明正在发生的事情,或者指定没有其他任何事情发生。不过,我认为,如果您尝试运行一个程序但它失败了,那么您的 JVM 可能在启动时就崩溃了。

A:什么都没有发生,它的行为就像代码中有语法错误一样,除了没有语法错误,它没有运行。

问:定义“不运行”。

A:它不会编译。


所以让我们直截了当。

  • 当您尝试编译一个 Java 程序时,它会导致 NetBeans 崩溃。

  • 当 NetBeans 崩溃时,它会显示“无法写入核心转储......”等等。

我建议您暂时忽略编写核心转储的问题。(无论如何,转储不会告诉您太多...除非您擅长阅读转储。线程堆栈跟踪可能会提供一些提示。它们可能在“hs_err_<...>”文件中...是创建。)

而是尝试找出导致问题的原因。

首先从命令行编译程序;例如,使用javac命令并将类路径等设置为与在 NetBeans 中编译时相同。(如果您有 Ant 或 Maven 构建配方,请从命令行运行它们...)

  • 如果它有效,那么您正在使用的 NetBeans 版本中存在编译器错误。

  • 如果它给出编译错误,请修复它们并重试,直到您的代码编译...从命令行。获得要编译的固定程序后,请再次在 NetBeans 中尝试。如果可行,则诊断是 NetBeans 中存在由源代码中的特定错误触发的错误。但是你已经解决了它。

  • 如果您从命令行获得编译器崩溃,那么您的代码中有一些东西会触发两个平台上的编译器错误。这可能很棘手。您需要逐步从代码中删减代码以尝试找出原因。

如果您需要更多帮助,请发布导致问题的代码......最好在删除似乎不重要的位之后。

于 2013-05-04T01:37:32.747 回答