Инструмент командной строки для удаленной отладки Java jdb - PullRequest
6 голосов
/ 18 сентября 2008

У кого-нибудь есть опыт использования этого? если так, то стоит ли?

Ответы [ 3 ]

5 голосов
/ 03 октября 2008

Я только вчера использовал jdb и очень доволен результатами. Видите ли, я программирую в Eclipse на своем ноутбуке, а затем внедряю в виртуальную машину, чтобы убедиться, что весь shebang все еще работает. Очень редко мне придется работать над чем-то, что выполняется автономно, как командная строка. Эти вещи иногда нуждаются в отладке.

Это всегда было проблемой, потому что я не хочу вдаваться в проблему установки Eclipse на ВМ (она уже достаточно медленная!), Но я не знаю простого способа подключить его в мой класс, запускаемый из командной строки, прежде чем он завершит работу.

JDB на помощь! Это работает удовольствие - маленький и функциональный, почти до такой степени, что он голый ... это заставляет вас прикладывать свой ум больше, чем вы применяете инструмент (как я сказал здесь ).

Обязательно распечатайте ссылку ( Солярис , Windows , Java 1,5 - я думаю, что они все примерно одинаковы, на самом деле) и имеют Ваш исходный код открыт и доступен для просмотра на втором экране. Я надеюсь, что у вас есть второй экран, или вы будете много-много вкладывать.

2 голосов
/ 13 марта 2012

Предположим, ваша программа запущена с помощью следующей команды:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>

Вы можете присоединиться к этому процессу с помощью jdb:

jdb -attach <port>
0 голосов
/ 18 сентября 2008

JDB невероятно сложно использовать. Размещение System.outs или использование отладчика IDE приведут к лучшим результатам. А для более интересных функций (например, отслеживание потоков, размер кучи и т. Д.) Вы можете получить информацию графически с помощью инструмента JConsole .

...