Как настроить дамп ядра на Mac?

Я пишу код для анимационной программы, и у меня есть проблема. Мне нужно настроить дамп ядра. NETBeans говорит это: Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

Что мне делать, чтобы начать дамп памяти? Есть ли что-нибудь в терминале или в строке args[]?

Примечание: программа не запускается полностью, поэтому я не знаю, что происходит.

2 ответа

Откройте терминал и выполните команду

$ ulimit -c unlimited

В этом терминале запустите IDE Eclipse из командной строки.

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

Но это не решение вашей ошибки, когда ваша программа работает.

Q: Вам нужно быть немного более детальным с тем, что происходит, или указать, что больше ничего не происходит. Тем не менее, я думаю, что если вы попытаетесь запустить программу, и она потерпит неудачу, ваша JVM, вероятно, выйдет из строя при запуске.

A: Ничего не происходит, он ведет себя точно так же, как в коде есть синтаксическая ошибка, за исключением того, что нет синтаксической ошибки, он не работает.

Q: Определите "не работает".

A: Это не скомпилируется.


Итак, давайте прямо.

  • У вас есть Java-программа, которая вызывает сбой NetBeans при попытке ее скомпилировать.

  • При сбое NetBeans появляется сообщение "Не удалось записать дамп ядра..." и т. Д.

Я предлагаю вам пока игнорировать проблему с записью дампа ядра. (В любом случае дамп не скажет вам много... если вы не умеете читать дампы. Хотя трассировка стека потока может дать некоторые подсказки. Они могут быть в файле "hs_err _<...>"... создано.)

Вместо этого попытайтесь определить причину проблемы.

Начните с компиляции вашей программы из командной строки; например, используя javac Команда и установка classpath и т. д. должны быть эквивалентны тому, что происходит при компиляции в NetBeans. (Если у вас есть рецепт сборки Ant или Maven, запустите его из командной строки...)

  • Если это работает, значит, есть ошибка компилятора в используемой версии NetBeans.

  • Если это приводит к ошибкам компиляции, исправьте их и попробуйте снова, пока ваш код не скомпилируется... из командной строки. Как только у вас есть фиксированная программа для компиляции, попробуйте снова в NetBeans. Если это работает, диагностика состоит в том, что в NetBeans есть ошибка, которая вызывается именно этой ошибкой в ​​вашем исходном коде. Но вы работали над этим.

  • Если вы получаете сбой компилятора из командной строки, в вашем коде есть что-то, что вызывает ошибки компилятора на обеих платформах. Это может быть сложно. Вам нужно будет постепенно вырезать биты из своего кода, чтобы попытаться определить причину.

Если вам нужна дополнительная помощь, опубликуйте код, который вызывает проблемы... желательно после вырезания битов, которые, кажется, не имеют значения.

Другие вопросы по тегам