Я изучаю JDB и сталкиваюсь с определенным парадоксом. После запуска JDB (с "jdb ClassName") большинство учебных руководств скажет мне вводить
> методы ClassName
видеть список доступных методов так, чтобы я мог установить свои точки останова. Если я делаю это, отвечает JDB
Команда 'методы' не допустима, пока VM не запускается с команды 'выполнения'
Конечно, если я говорю "выполненный" прежде, чем установить какие-либо точки останова, это работает прямо через; не очень полезный. Единственная вещь, которую я могу завершить, состоит в том, что jdb ожидает, что Вы установите свои слепые точки останова, но это походит на такой грубый контроль, я протягиваю это, я просто пропускаю команду.
Большое спасибо!! Joyce
Если вы отлаживаете собственную программу, я бы подумал, что вы знаете имена классов!
Если это программа, для которой у вас нет исходного кода, то для ее запуска вы должны знать имя класса, содержащего main()
. Если он находится в jar, запущенном с помощью java -jar
, то имя этого класса находится в манифесте внутри jar.
Но на самом деле вы запускаете jdb ClassName
, поэтому вы знаете, что будете выполнять метод ClassName.main()
. Правильно?
Если это сервлет в веб-сервисе, то класс сервлета находится в web.xml
.
Поэтому в любом из этих случаев вы должны быть в состоянии получить, по крайней мере, самый первый метод. Найдя его, вы сможете найти остальные.