Java 如何在mac上设置核心转储?

Java 如何在mac上设置核心转储?,java,core,ulimit,dumping,Java,Core,Ulimit,Dumping,我正在为一个动画程序编写代码,我遇到了一个问题。我需要设置核心转储。NetBeans是这样说的:无法写入核心转储。核心转储已被禁用。要启用核心转储,请在再次启动Java之前尝试“ulimit-c unlimited” 如何开始堆芯倾倒?终端或字符串args[]中是否有任何内容 注意:程序无法完全运行,因此我不知道发生了什么 问:你必须对正在发生的事情更详细一点,或者指定没有其他事情发生。不过,我认为,如果您尝试运行一个程序,但失败了,您的JVM可能会在启动时崩溃 答:什么都没有发生,它的行为就像

我正在为一个动画程序编写代码,我遇到了一个问题。我需要设置核心转储。NetBeans是这样说的:
无法写入核心转储。核心转储已被禁用。要启用核心转储,请在再次启动Java之前尝试“ulimit-c unlimited”

如何开始堆芯倾倒?终端或字符串args[]中是否有任何内容

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

问:你必须对正在发生的事情更详细一点,或者指定没有其他事情发生。不过,我认为,如果您尝试运行一个程序,但失败了,您的JVM可能会在启动时崩溃

答:什么都没有发生,它的行为就像代码中有语法错误一样,只是没有语法错误,它没有运行

问:定义“不运行”

答:不会编译


让我们把事情弄清楚

  • 当您试图编译一个Java程序时,它正在使NetBeans崩溃

  • 当NetBeans崩溃时,它会说“无法写入核心转储…”等等

我建议您暂时忽略编写核心转储的问题。(除非你擅长读取转储文件,否则转储文件不会告诉你太多。不过线程堆栈跟踪可能会给出一些提示。它们可能位于“hs\u err\u”文件中……如果创建了一个转储文件的话。)

相反,试着找出问题的原因

从命令行编译程序开始;e、 g.使用
javac
命令,并将类路径等设置为与在NetBeans中编译时的路径等效。(如果您有Ant或Maven构建配方,请从命令行运行它们…)

  • 如果它能工作,那么您正在使用的NetBeans版本中就有一个编译器错误

  • 如果出现编译错误,请修复它们并重试,直到代码编译完成。。。从命令行。一旦您有了要编译的固定程序,请在NetBeans中再次尝试。如果这样做有效,那么诊断就是NetBeans中有一个bug,它是由源代码中的特定错误触发的。但你已经解决了这个问题

  • 如果您从命令行获得编译器崩溃,那么代码中的某些内容会触发两种平台上的编译器错误。这可能很棘手。您需要逐步从代码中删除一些位,以尝试确定原因


如果您需要更多帮助,请发布导致问题的代码。。。最好是在切掉看似无关紧要的位之后。

打开终端并执行命令

$ ulimit -c unlimited
在这个终端中,现在通过命令行启动IDEEclipse

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

但这并不能解决程序运行时出现的错误。

请阅读错误消息。。。它准确地告诉你该做什么。此外,除非你正在调试Java本身或者可能正在编写本机代码,否则你通常不需要检查核心转储。可能有帮助:,和Marc B-如果我读了它所说的内容并且它起作用,我就不会发布问题,我不是完全不称职的。@Ihavetoomanyproblems:那么很抱歉。不过,你应该提到你试过什么。Stackoverflow上的许多人都不会费心按照错误消息中的说明操作。OSX上的内核转储似乎有点牵扯其中,我希望链接的问题能有所帮助。对不起,我以前没有做过这些。如何进入路径?任何.java类或整个文件夹的路径?我可以举个例子吗?阅读Java教程,了解如何从命令行运行Java工具的说明;例如