Pisząc proste programy w Eclipse przyzwyczailiśmy się, że po uruchomieniu ich metodą main
i wystąpieniu błędu, na konsoli pojawia się stacktrace z pokreślonymi naszymi klasami, których kliknięcie powoduje przejście do edycji tego miejsca w kodzie źródłowym:
Jednak w przypadku „prawdziwych” aplikacji uruchamianych na serwerze aplikacyjnym, stacktrace’y widzimy tylko w plikach logów:
Znalezienie takiego miejsca w kodzie źródłowym jest uciążliwe, bo wymaga:
- zaznaczenia i skopiowania nazwy klasy na konsoli,
- przejścia do Eclipse,
- otworzenie dialogu wyszukiwania klas (CRTL-SHIFT-T),
- wklejenia nazwy tej klasy i zatwierdzenia enterem,
- przełączenia się na konsolę,
- zaznaczenia i skopiowania numeru linii,
- powrotu do Eclipse,
- otworzenia dialogu przejścia do konkretnej linii (CRTL-L),
- wklejeniu numeru tej linii i zatwierdzenia enterem.
Po tej długiej drodze jesteśmy w odpowiednim miejscu w źródle kodu. Jeżeli jednak okazuje się że do analizy potrzebujemy przejścia do kolejnych klas w stosie wywołania, to powyższą procedurę należy powtarzać :-(.
Nie wszyscy jednak wiedzą (m.in. autor…) że w Eclipse jest dedykowany typ konsoli „Java stack trace console” który ułatwia analizę „zewnętrznych” stacktrace’ów – wystarczy go otworzyć i skopiować całą treść stacktrace aby cieszyć się możliwością łatwego klikania w te jego elementy które są związane z kodem naszych projektów w Eclipse:
Jedynym minusem istniejącego rozwiązania jest brak skrótu klawiszowego uruchamiającego dokładnie ten typ konsoli – trzeba oderwać ręce od klawiatury i otworzyć ją z menu jak na powyższym screenshocie.