Как сделать удаленную отладку в JamVM?
У меня есть версия jamvm 1.5.4
(Java-версия 1.5.0
) и у меня нет выбора по поводу обновления или изменения (на самом деле, я думаю, что это последняя версия).
Мне бы очень хотелось подключить удаленный отладчик к некоторому старому коду, который я написал, поэтому моей первой мыслью было следующее заклинание:
jamvm -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n ...
К сожалению, нет кости там (ни -Xdebug
или же -Xrunjdwp
были признаны).
Итак, я сделал быстрый jamvm -help
а потом jamvm -X
и немного почитал. Ничто не предполагало возможность подключения удаленного отладчика.
Наконец, я обратился к нашему старому другу мистеру Гуглеру и нашел этот вопрос на SourceForge без ответа.
Так что я думаю, что я scuppered, если никто не знает иначе, отсюда это...
Есть ли способ сделать удаленную отладку с помощью JamVM?
1 ответ
Простой ответ - "Нет".
На самом деле я хотел выполнить профилирование на целевом оборудовании (ARM), на котором запущен jamvm, потому что оно работало значительно медленнее, чем на моем рабочем столе с виртуальной машиной Oracle HotSpot.
Я проверил источники JamVM, но скрытой магии нет. JamVM был очень компактным, поэтому в него была добавлена поддержка удаленной отладки, профилирования, JMX и еще много чего.
Что вы можете сделать, это использовать -verbose
чтобы немного понять, что происходит. С помощью :class
например, я, по крайней мере, смог обнаружить огромное узкое место в производительности, наблюдая за загрузкой классов.
jamvm -verbose[:class|gc|jni]
:class print out information about class loading, etc.
:gc print out results of garbage collection
:jni print out native method dynamic resolution
Тем не менее, поскольку у нашего приложения есть какой-то тонкий HAL, я могу запустить его на настольном компьютере, используя все возможности IDE, профилировщиков и отладчиков, что я и хотел бы предложить.
Если это невозможно из-за какого-то конкретного аппаратного кода, который не будет работать на рабочем столе, к сожалению, я не знаю другого способа, кроме как выполнять некрасивую "отладку printf".