Как получить работу удаленной отладки для Java на Solaris

Я пытаюсь заставить удаленную отладку работать с Java в ОС Solaris. Вот что я пробовал:

У меня есть класс Java под названием TestP, который имеет основной метод.

Когда я пробую java -classpath . ТестП

программа работает нормально. Но когда я пытаюсь добавить параметры отладки в JVM-

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -classpath . ТестП

Это не дает этой ошибки -

ОШИБКА UTF ["../../../src/solaris/npt/utf_md.c":49]: не удалось завершить настройку iconv_open()

Может ли кто-нибудь помочь мне выяснить, почему появляется эта ошибка?? Вышеупомянутое отлично работает на моем Linux-боксе :(

Версия Java для Solaris: Java(TM) SE Runtime Environment (сборка 1.6.0_15-b03) Java HotSpot(TM) Client VM (сборка 14.1-b02, смешанный режим)

Версия Java для Linux: версия Java "1.6.0_0" Среда выполнения OpenJDK (IcedTea6 1.5) (fedora-20.b16.fc10-i386) Виртуальная машина сервера OpenJDK (сборка 14.0-b15, смешанный режим)

Спасибо,
-Кешав


person Keshav    schedule 13.11.2009    source источник


Ответы (3)


Хм... Кажется, это известная проблема Solaris (не специфичная для Solaris 10) с Java 6, а не проблема Java (см. этот тред).

Кто-то успешно применил обходной путь (см. этот блог) post) от человека из Sun, Джеффа Могиллански, но я бы не рекомендовал его, а предпочел бы поискать патч в sunsolve, как указано на форумах Sun.

Посмотрите на это: http://sunsolve.sun.com/search/document.do?assetkey=1-1-6586755-1 (вам потребуется учетная запись Sun Online с действующим контрактом на поддержку или подпиской на программное обеспечение).

person Pascal Thivent    schedule 13.11.2009
comment
Спасибо за ссылки. Постараюсь решить эту проблему с этой информацией. - person Keshav; 14.11.2009
comment
оракул сломал все ссылки для этого ответа - person sbridges; 04.04.2012

Используя truss, я обнаружил, что процесс ищет /usr/lib/iconv/geniconvtbl/binarytables/UTF-8%646.bt и 646%UTF-8.bt, поэтому я просто скопировал ISO8859-1%ISO646.bt в UTF-8%646.bt и ISO646%ISO8859-1.bt в 646%UTF-8.bt (да, именно "646", а не "ISO646"!)

Это, конечно, очень уродливый обходной путь, и я понятия не имею, оказывает ли он какое-либо негативное влияние на JVM, но, по крайней мере, он запускает JVM без прерывания. (Я сделал это на OpenSolaris 2009.06, кстати)

person Axel Hanikel    schedule 11.10.2011

Если Pascal Thivent прав, вы можете попробовать запустить OpenSolaris (либо на пустой машине, либо в виртуальной машине) и посмотреть, есть ли проблема. Если нет, то рассмотрите возможность использования этой версии сейчас, если это возможно.

person Thorbjørn Ravn Andersen    schedule 13.11.2009