JDB раздражает имя пакета при отладке
Я пытаюсь отлаживать свои приложения с помощью JDB. Я приобрел много вещей до сих пор, но я хотел бы отполировать их.
Когда я нахожусь в jdb, и я хотел бы вставить точку останова или проверить переменную, jdb необходимо полное имя package.class. (Метод / переменная). Вот пример:
Initializing jdb ...
>
VM Started: No frames on the current call stack
main[1] stop in com.ionsoft.engine.Engine.main
Это так раздражает, потому что имена, которые я должен напечатать, такие длинные.
Я хотел бы напечатать "stop in Engine.main", как если бы источник и класс находились в корне проекта.
Я попытался изменить путь к классу с./build/classes на./build/classes/com/ionsoft/engine, но если я это сделаю, Engine.class не будет найден.
Error: Could not find or load main class com.ionsoft.engine.Engine
У кого-нибудь есть идеи?
ОБНОВЛЕНИЕ: В моем текущем classpath я указываю на фляги, а не классы.
Спасибо за ваше время.
1 ответ
Я нашел некоторую полезную информацию по этой теме.
У меня есть три варианта:
Используйте файл.jdbrc с чем-то вроде этого:
monitor list stop in com.ionsoft.engine.Engine.main
К сожалению, это обходной путь. Я могу настроить все свои контрольные точки здесь и пользовательскую конфигурацию.
Используйте Java Debug Interface (JDI) для программирования моего пользовательского "отладчика".
Полезная информация: здесь
Жить с этим бременем. (как сказал isnot2bad)
Я думаю, что мне больше нравится второй вариант, но пока я буду использовать комбинацию первого и третьего варианта.