Tento článek byl naposledy aktualizován v lednu 2020
V ideálním světě by se chyby nikdy nedostaly do výroby. Softwarové chyby jsou však nevyhnutelnou součástí života vývojáře. Nástroje pro ladění Javy existují proto, aby nám pomohly vyřešit chyby rychleji, a my se tak mohli věnovat tomu, co umíme nejlépe.
Tento seznam nástrojů pro ladění Javy vám pomůže rychle vyhodnotit vaše možnosti, abyste mohli najít to nejlepší pro danou práci.
Najdete a snadno opravíte chyby Javy, výjimky, bugy & pády. Raygun zachytí každý pád a v reálném čase o něm informuje
Raygun Crash Reporting
Jednou z nejtěžších věcí při ladění je, že ne vždy víte, které chyby se u vašich uživatelů vyskytují. Raygun Error Monitoring má vše, co potřebujete k odhalení chyb, omylů a pádů, ke kterým dochází v produkci i mimo ni.
Raygun4Java umožňuje ve výchozím nastavení odesílat výjimky z desktopových a konzolových aplikací Java a Scala. Všechny výjimky můžete odesílat na řídicí panel Raygun, takže si můžete prohlédnout podrobnou diagnózu každé chyby, včetně úplných stop zásobníku, údajů souvisejících s názvy metod, funkcí a tříd a dalších údajů.
Instalace a konfigurace nezabere více než několik minut. Raygun dokáže zpracovat jakýkoli objekt, který dědí ze třídy Throwable
. Proces ladění usnadňují také pokročilé funkce, jako jsou drobečky, filtry a vlastní značky.
Eclipse
Eclipse je populární open-source IDE, které se používá pro vývoj v jazyce Java, ale má také pluginy pro další jazyky, jako je PHP, Python, Ruby a C#. Platforma Eclipse je vybavena pokročilými funkcemi pro ladění, které pomáhají kontrolovat kód během jeho provádění, což z ní činí dobře použitelný nástroj. Velkou výhodou je, že pracovní postup Eclipse je pohodlný, protože můžete používat stejnou platformu pro vývoj i ladění.
Jednou z nejlepších funkcí Eclipse je Debug Perspective, která vedle sebe zobrazuje důležité ladicí informace, jako jsou proměnné, body přerušení, vlákna a zásobníky volání.
S Eclipse můžete také pozastavovat a obnovovat vlákna, postupně procházet prováděním programu, kontrolovat hodnoty a vyhodnocovat výrazy.
NetBeans
NetBeans je další bezplatné a open-source IDE. Stejně jako Eclipse jsou ladicí funkce zabudovány do platformy, takže k získání ladicího nástroje stačí stáhnout IDE.
NetBeans se dodává v různých balíčcích ke stažení; pro Javu budete potřebovat buď edici Java SE, nebo Java EE. Druhá jmenovaná edice má navíc podporu HTML5, JavaScriptu a serverů GlassFish a Tomcat, takže je lepší volbou pro vážnější vývojové práce.
Debugger NetBeans má mnoho podobných funkcí jako Eclipse. Oba jsou vlastně vynikajícími ladicími nástroji pro kontrolu zdrojového kódu a identifikaci problémů, jako jsou úniky paměti a problémy se souběhem. NetBeans umožňuje nastavit body přerušení a podmíněné body přerušení, procházet kód krok za krokem, přepínat vlákna a sledovat provádění v reálném čase.
NetBeans vám také poskytuje praktickou funkci Visual Debugger, takže můžete ladit vizuální prvky svých aplikací s grafickým uživatelským rozhraním Java a JavaFX. Pomocí Visual Debuggeru můžete přidávat posluchače k akcím GUI, zobrazovat vlastnosti komponent a jejich hierarchii a vyhledávat zdrojový kód.
Používáte-li NetBeans, získáte také přístup k vestavěnému nástroji NetBeans Profiler. Pomocí profileru můžete kontrolovat využití paměti, výkon procesoru, stavy vláken a další charakteristiky aplikace Java. Tyto funkce vám společně pomohou optimalizovat rychlost a využití paměti a snížit režii.
Jelikož NetBeans na začátku roku 2018 získala nadace Apache Software Foundation, můžete v budoucnu očekávat další integrace a rozšířené funkce – zejména proto, že Apache již hostuje mnoho projektů Java od nástroje pro sestavení Maven po server Tomcat.
IntelliJ IDEA
Vedle Eclipse a NetBeans je IntelliJ IDEA třetím IDE, které vývojáři v Javě obvykle zmiňují, když se jich zeptáte, které IDE používají. IntelliJ IDEA, vyvinutý společností JetBrains, se dodává jak v komunitní verzi s otevřeným zdrojovým kódem, tak v placené komerční verzi. Je to především IDE pro Javu, ale můžete jej používat i s dalšími jazyky JVM, jako jsou Groovy, Kotlin a Scala. Komerční edice podporuje také mnoho frameworků JVM i jiných než JVM, například Spring, Java EE, Play, Grails, GWT a Vaadin. A co víc, obě edice jsou vybaveny podporou vývoje pro Android – což je skvělé, pokud provozujete více projektů. Stejně jako výše zmíněné ladicí nástroje IDE obsahuje i IntelliJ IDEA vestavěný ladicí nástroj Java, který funguje out-of-the-box.
IntelliJ IDEA má všechny standardní ladicí funkce, které byste očekávali od nejlepšího ladicího nástroje ve své třídě. IntelliJ IDEA vám umožňuje:
- Vytvářet a konfigurovat body přerušení a body sledování
- Vyhodnocovat výrazy
- Pozastavit a obnovit relaci debuggeru
- Zkoumat pozastavená vlákna
- Procházet zdrojový kód
- Analyzovat využití paměti
- … A další možnosti
Pomocí aplikace IntelliJ IDEA můžete také vzdáleně ladit aplikace Java.
Inline ladění je nejzajímavější a jedinečnou funkcí aplikace IntelliJ IDEA. Inline debugger zobrazuje hodnoty proměnných v kódu hned vedle řádku, kde byly použity. Kdykoli se hodnota proměnné změní, inline debugger ji zvýrazní jinou barvou. Chcete-li zkontrolovat hodnoty, nemusíte se přesouvat do okna Ladění nebo přejíždět kurzorem myši na každou proměnnou zvlášť jako v případě Eclipse a NetBeans.
Visual Studio Code
K ladění aplikací Java nemusíte vždy používat IDE. Multiplatformní editor zdrojového kódu společnosti Microsoft, Visual Studio Code, umožňuje také ladění Javy prostřednictvím rozšíření Debugger for Java.
Pokud stejně používáte Visual Studio Code pro úpravu kódu a potřebujete lehký a snadno použitelný ladicí nástroj pro svůj vývojový postup v jazyce Java, Visual Studio Code je skvělou volbou. Nemá sice tolik pokročilých funkcí jako ladicí nástroje IDE, ale umí vše, co potřebujete pro rychlé ladění.
Ladicí nástroj pro Javu ve Visual Studio Code je založen na Java Debug Serveru, který rozšiřuje další rozšíření Visual Studio Code s názvem Language Support for Java od společnosti Red Hat.
Ladicí program Visual Service Code umožňuje:
- provádět místní a vzdálené ladění
- nastavit podmíněné body přerušení a body záznamu
- procházet zdrojový kód
- prohlížet a sledovat proměnné
- prohlížet volání zásobníky
- Debugovat více vláken
- Vyhodnocovat výrazy
- Používat horkou náhradu kódu
Rozšíření debuggeru VS Code obsahuje mnoho možností konfigurace, které si můžete prohlédnout v dokumentaci.
Debugger Javy (jdb)
Pokud nemůžete (nebo nechcete) používat externí software pro ladění Javy, je možné ladit aplikace Javy také z příkazového řádku. Java Debugger (jdb) je jednoduchý ladicí program pro příkazový řádek poskytovaný společností Oracle. Je to ekvivalent GNU Debuggeru (gdb) pro virtuální stroj Java. Java Debugger je součástí vývojové sady Java SE Development Kit, takže pokud máte na svém počítači nainstalovaný JDK, nemusíte dělat nic jiného. Debugger spustíte příkazem jdb
a k seznamu příkazů se dostanete příkazem help
.
Debugger Java je vlastně ukázkou architektury Java Platform Debugger Architecture (JDPA). JDPA je soubor tří rozhraní: JVM TI (Java Virtual Machine Tools Interface), JDWP (Java Debug Wire Protocol) a JDI (Java Debug Interface). JDPA je architektura pro ladění, která poskytuje vývojářům nástroje pro vytváření vlastních aplikací pro ladění – jdb je jen jednou z možností použití JDPA.
Ladicí program jdb umožňuje provádět hloubkové relace ladění v příkazovém řádku. Pomocí nástroje jdb debugger můžete:
- Seznam, pozastavení, a obnovovat vlákna
- Vyhodnocovat výrazy
- Vypisovat všechny informace o objektech
- Nastavovat body přerušení
- Sledovat pole
- Sledovat volání metod
- Provádět krokování procházet kódem
- Povolit a zabránit garbage collection objektu
Debugger pro příkazový řádek není pro svou složitost nejlepší volbou pro každodenní vývojovou práci. Přesto má jednu výhodu – přenositelnost. Můžete jej bez větších potíží nastavit na serveru, protože nemusíte připojovat server ke vzdálenému ladicímu prostředí IDE. To vše dělá z jdb ideální nástroj pro rychlé řešení problémů, což je v produkčním prostředí důležité.
Který ladicí nástroj Javy je pro váš projekt nejlepší?
Ladění Javy nemusí být takový problém. Použití některého z těchto ladicích nástrojů proces ladění výrazně urychlí. Každý případ použití bude jiný, ale zhodnocení možností vám pomůže vybrat ten správný nástroj pro váš projekt.
Debugování Javy je jednodušší, když víte, kde je chyba! Raygun Crash Reporting for Java pomáhá vývojářům odhalovat, diagnostikovat a řešit problémy s větší rychlostí a přesností. Využijte 14denní zkušební verzi zdarma.