Как понять Ошибки Горячей точки Java

Существует разница между пустым значением и значением NA. Попробуйте сделать это

 mydata[mydata==""] <- NA

, а затем проверьте значения NA

any(mydata[is.na(mydata$A)])
8
задан John Calsbeek 4 August 2009 в 00:27
поделиться

3 ответа

Если вы не вызываете машинный код (JNI), ничто в вашем коде не должно приводить к сбою JVM; поэтому информация трассировки стека в этом файле журнала, вероятно, не предназначена для большинства разработчиков. Вероятно, поэтому это может не быть задокументировано (по крайней мере, внешне). Так что лучше всего, вероятно, отправить отчет об ошибке, как это предлагается в сообщении об ошибке.

Но, если вы действительно хотите понять это, Блог Кохсуке имеет все необходимое. По-прежнему. :)

5
ответ дан 5 December 2019 в 23:17
поделиться

Для начала найдите самую верхнюю строку, которая выглядит примерно как «ntdll.dll + 0x2000».

Если горячая точка возникает в , ваш собственный код ( т.е. DLL - одна из ваших), а затем узнайте, как убедить ваш компилятор создать список сопоставлений от смещения DLL к номеру строки. Очевидно, это может означать, что вам нужно перезапустить только что скомпилированную DLL и подождать, пока проблема не возникнет снова.

В противном случае посмотрите, вызывает ли поиск этой конкретной строки что-то в Google, учитывая, что та же ошибка может означать целый ряд вещей. И посмотрите, выглядит ли имя DLL как что-то узнаваемое, например, имя драйвера принтера, графический драйвер или какой-либо другой компонент, который вы можете отследить до определенного вызова. Каким бы ни был этот компонент, вы можете обновить его до фиксированной версии или избежать звонка, о котором идет речь. Если вы не уверены, что это за компонент, это может быть просто «JVM», которую вам нужно обновить - вероятно, хорошей идеей будет обновление, по крайней мере, до последнего обновления / номера минорной версии любой версии.

В прошлом я также видел ошибки в JIT-компиляторе, которые можно временно решить, запретив ему компилировать конкретный рассматриваемый метод - насколько я смутно помню, в этих случаях ошибка точки доступа дает некоторые ключ к тому, какой это был метод (возможно, просто дамп стека Java), но у меня нет примера, чтобы вспомнить подробности.

0
ответ дан 5 December 2019 в 23:17
поделиться

это очень полезно: http://weblogs.java.net/blog/kohsuke/archive/2009/02/crash_course_on.html

хорошо, первый ответ уже упоминает этот URL, неважно

0
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: