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 ответ

Я нашел некоторую полезную информацию по этой теме.

У меня есть три варианта:

  1. Используйте файл.jdbrc с чем-то вроде этого:

    monitor list
    stop in com.ionsoft.engine.Engine.main
    

    К сожалению, это обходной путь. Я могу настроить все свои контрольные точки здесь и пользовательскую конфигурацию.

  2. Используйте Java Debug Interface (JDI) для программирования моего пользовательского "отладчика".

    Полезная информация: здесь

  3. Жить с этим бременем. (как сказал isnot2bad)

Я думаю, что мне больше нравится второй вариант, но пока я буду использовать комбинацию первого и третьего варианта.

Другие вопросы по тегам