2009-11-13 3 views
1

Я пытаюсь получить удаленную отладку, работающую с Java на ОС Solaris. Вот что я пробовал -Как получить работу удаленной отладки для Java в Solaris

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

Когда я пробую java -classpath. TestP

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

java -Xdebug -Xrunjdwp: transport = dt_socket, address = 8001, server = y, suspend = n -classpath. TestP

она не дает этого error-

UTF ERROR [»../../../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 Runtime Environment (IcedTea6 1,5) (мягкая фетровая-20.b16.fc10-i386) OpenJDK сервера VM (сборка 14.0-b15, смешанный режим)

Спасибо,
-Keshav

ответ

2

Хм ... Это, похоже, проблема Solaris (не относящаяся к Solaris 10) с Java 6, а не проблема Java (см. Это thread).

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

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

+0

Спасибо за ссылки. Попытаемся решить эту проблему с помощью этой информации. – Keshav

+0

oracle сломал все ссылки для этого ответа – sbridges

0

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

2

Используя ферму, я узнал, что процесс ищет /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, btw)