6 Java-vianmääritystyökalua, jotka sinun pitäisi tuntea

, Author

Kirjoittanut Anna Monus | Lähetetty 15. elokuuta 2018| 7 min. (1389 sanaa)

Tämä artikkeli on päivitetty viimeksi tammikuussa 2020

Ideaalimaailmassa virheet eivät koskaan pääsisi tuotantoon. Ohjelmistovirheet ovat kuitenkin väistämätön osa kehittäjän elämää. Raygun kaappaa jokaisen kaatumisen ja raportoi siitä reaaliajassa

Raygun Crash Reporting

Raygun on Java-virheenkorjaustyökalu

Yksi vaikeimmista asioista virheenkorjauksessa on se, että et aina tiedä, mitä virheitä käyttäjilläsi esiintyy. Raygun-virhevalvonnassa on kaikki, mitä tarvitset löytääksesi virheet, virheet ja kaatumiset, joita tapahtuu tuotannossa ja sen ulkopuolella.

Raygun4Java mahdollistaa oletusarvoisesti poikkeusten lähettämisen työpöytä- ja konsoli-Java- ja Scala-sovelluksista. Voit lähettää kaikki poikkeukset Raygun-kojelautaan, jolloin näet yksityiskohtaisen diagnoosin jokaisesta virheestä, mukaan lukien täydelliset pinojäljet, metodien, funktioiden ja luokkien nimiin liittyvät tiedot ja paljon muuta.

Asennus ja konfigurointi ei vie kuin muutaman minuutin. Raygun voi käsitellä mitä tahansa objektia, joka periytyy Throwable-luokasta. Edistyneet ominaisuudet, kuten leivänmurut, suodattimet ja mukautetut tunnisteet, helpottavat myös virheenkorjausta.

Eclipse

Eclipse on Javan virheenkorjaustyökalu

Eclipse on suosittu avoimen lähdekoodin IDE-ohjelmointikehitystyökalu (Open Source IDE), jota käytetään Java-kehitystyökaluihin, mutta siinä on lisäosia myös muille kielille, kuten PHP:lle, Pytonille, Rubylle ja C#:lle. Eclipse-alustassa on kehittyneitä virheenkorjausominaisuuksia, joiden avulla voit tarkastella koodia suorituksen aikana, mikä tekee siitä monipuolisen työkalun. Suuri etu on se, että Eclipsen työnkulku on kätevä, koska voit käyttää samaa alustaa sekä kehitykseen että virheenkorjaukseen.

Yksi Eclipsen parhaista ominaisuuksista on virheenkorjausnäkymä (Debug Perspective), joka näyttää olennaiset virheenkorjaustiedot vierekkäin, kuten muuttujat, pysäytyspisteet (breakpoints), säikeet (threads) ja kutsupinot.

Eclipsen avulla voit myös keskeyttää ja jatkaa säikeitä, astella ohjelman suorituksen läpi, tarkastaa arvoja ja evaluoida lausekkeita.

NetBeans

NetBeans on Java-vianmääritystyökalu

NetBeans on toinen ilmainen ja avoimen lähdekoodin IDE. Eclipsen tavoin debuggaustoiminnot on rakennettu alustaan, joten sinun tarvitsee vain ladata IDE saadaksesi debuggaustyökalun.

NetBeansia on saatavana erilaisina latauspaketteina; Javaa varten tarvitset joko Java SE- tai Java EE-version. Jälkimmäisessä on myös tuki HTML5:lle, JavaScriptille sekä GlassFish- ja Tomcat-palvelimille, joten se on parempi valinta vakavampaan kehitystyöhön.

NetBeansin debuggerissa on monia samankaltaisia ominaisuuksia kuin Eclipsessä. Itse asiassa molemmat ovat erinomaisia virheenkorjaustyökaluja lähdekoodin tarkasteluun ja ongelmien, kuten muistivuotojen ja samanaikaisuusongelmien, tunnistamiseen. NetBeansin avulla voit asettaa pysäytyspisteitä ja ehdollisia pysäytyspisteitä, astella koodin läpi, vaihtaa säikeitä ja seurata suoritusta reaaliajassa.

NetBeans tarjoaa myös kätevän Visual Debugger -ominaisuuden, jonka avulla voit debugata Java- ja JavaFX GUI -sovellusten visuaalisia elementtejä. Visual Debuggerin avulla voit lisätä kuuntelijoita GUI-toimintoihin, tarkastella komponenttien ominaisuuksia ja komponenttien hierarkiaa sekä etsiä lähdekoodia.

Jos käytät NetBeansia, saat käyttöösi myös sisäänrakennetun NetBeans Profiler -työkalun. Profilerin avulla voit tarkistaa muistin käytön, suorittimen suorituskyvyn, säikeiden tilat ja muut Java-sovelluksesi ominaisuudet. Nämä ominaisuudet auttavat yhdessä optimoimaan nopeutta ja muistinkäyttöä sekä vähentämään yleiskustannuksia.

Koska Apache Software Foundation osti NetBeansin alkuvuodesta 2018, voit odottaa tulevaisuudessa lisää integraatioita ja laajennettuja ominaisuuksia – varsinkin kun Apache isännöi jo monia Java-projekteja Mavenin rakennustyökalusta Tomcat-palvelimeen.

IntelliJ IDEA

IntelliJ IDEA on Javan virheenkorjaustyökalu

Eclipsen ja NetBeansin ohella IntelliJ IDEA on kolmas IDE, jonka Java-kehittäjät yleensä mainitsevat, kun heiltä kysytään, mitä IDE:tä he käyttävät. JetBrainsin kehittämästä IntelliJ IDEA:sta on sekä avoimen lähdekoodin yhteisö- että maksullinen kaupallinen versio. Se on pääasiassa Java IDE, mutta sitä voi käyttää myös muiden JVM-kielten, kuten Groovyn, Kotlinin ja Scalan kanssa. Kaupallinen versio tukee myös monia JVM- ja muita kuin JVM-kehyksiä, kuten Spring, Java EE, Play, Grails, GWT ja Vaadin. Vielä parempaa on, että molemmissa versioissa on tuki Android-kehitykselle – hienoa, jos sinulla on useita projekteja. Aivan kuten edellä mainitut IDE-debuggerit, myös IntelliJ IDEA sisältää sisäänrakennetun Java-debuggerin, joka toimii valmiiksi.

IntelliJ IDEA:ssa on kaikki vakiovarusteena olevat debuggausominaisuudet, joita odotat luokkansa parhaalta debuggausohjelmalta. IntelliJ IDEA:n avulla voit mm:

  • Luo ja määritä tauko- ja tarkkailupisteitä
  • Arvioi lausekkeita
  • Pysäytä ja jatka debugger-istunto
  • Tutki keskeytyneitä säikeitä
  • Käy läpi lähdekoodia
  • Analysoi muistinkäyttöä
  • Muistinkäyttöä
  • Muistinkäyttöä
  • Muistinkäyttöä
  • Muistinkäyttöä

Voit käyttää IntelliJ IDEAa myös Java-sovellusten debuggaamiseen etänä.

Inline-vianmääritys on IntelliJ IDEA:n mielenkiintoisin ja ainutlaatuisin ominaisuus. Inline-debuggeri näyttää muuttujien arvot koodin sisällä, aivan sen rivin vieressä, jossa niitä käytettiin. Aina kun muuttujan arvo muuttuu, inline-debuggeri korostaa sen eri värillä. Arvojen tarkistamiseksi ei tarvitse siirtyä Debug-ikkunaan tai viedä hiirtä jokaisen muuttujan päälle yksitellen, kuten Eclipsen ja NetBeansin kanssa.

Visual Studio Code

Visual Studio Code on Javan virheenkorjaustyökalu

Javasovellusten virheenkorjaamiseen ei aina tarvitse käyttää IDE:tä. Microsoftin monialustainen lähdekoodieditori Visual Studio Code mahdollistaa myös Java-vianmäärityksen Debugger for Java -laajennuksen avulla.

Jos käytät Visual Studio Codea muutenkin koodinmuokkaukseen ja tarvitset kevyen ja helppokäyttöisen vianmääritystyökalun Java-kehitystyönkulkuusi, Visual Studio Code on hyvä valinta. Vaikka siinä ei ole yhtä paljon kehittyneitä ominaisuuksia kuin IDE-debuggereissa, se osaa kaiken, mitä tarvitset nopeaan debuggausistuntoon.

Visual Studio Code:n Java-debuggeri perustuu Java Debug Serveriin, joka laajentaa toista Visual Studio Code -laajennusta nimeltä Language Support for Java by Red Hat.

VS Code debuggerin avulla voit:

  • Toteuttaa paikallista ja etäkäyttövirheenkorjausta
  • Asettaa ehdollisia pysäytyspisteitä ja lokipisteitä
  • Stepata läpi lähdekoodin
  • Tarkastella ja tarkkailla muuttujia
  • Katsella kutsuja. pinoja
  • Katsele useita säikeitä
  • Arvioi lausekkeita
  • Käytä kuumaa koodinkorvausta

VS Koodin debugger-laajennuksen mukana tulee monia konfigurointivaihtoehtoja, joihin voit tutustua asiakirjoista.

The Java Debugger (jdb)

JDB on Java-vianmääritystyökalu

Jos et voi (tai halua) käyttää ulkoista ohjelmistoa Java-vianmääritykseen, Java-sovelluksia voi myös debugata komentoriviltä. Java Debugger (jdb) on Oraclen tarjoama yksinkertainen komentorivin debuggeri. Se vastaa Java-virtuaalikoneen GNU Debuggeria (gdb). Java Debugger sisältyy Java SE Development Kitiin, joten jos koneellesi on asennettu JDK, sinun ei tarvitse tehdä mitään muuta. Voit käynnistää debuggerin komennolla jdb ja päästä käskyluetteloon komennolla help.

Javan debuggeri on itse asiassa Java Platform Debugger Architecture (JDPA) -esittely. JDPA on kokoelma kolmea rajapintaa: JVM TI (Java Virtual Machine Tools Interface), JDWP (Java Debug Wire Protocol) ja JDI (Java Debug Interface). JDPA on virheenkorjausarkkitehtuuri, joka tarjoaa kehittäjille työkaluja omien virheenkorjaussovellusten luomiseen – jdb on vain yksi JDPA:n mahdollisista käyttökohteista.

Jdb-virheenkorjausohjelmalla voit suorittaa syvällisiä virheenkorjausistuntoja komentorivillä. Jdb-debuggerin avulla voit:

  • Listaa, keskeyttää, ja jatkaa säikeitä
  • Arvioida lausekkeita
  • Tulostaa kaikki objektitiedot
  • Asettaa pysäytyspisteitä
  • Valvoa kenttiä
  • Seurata metodikutsuja
  • Käynnistää läpi koodin
  • Salli ja estä objektin roskienkeräys

Komentorivin debuggeri ei ole paras valinta jokapäiväiseen kehitystyöhön sen monimutkaisuuden vuoksi. Silti sillä on yksi etu – siirrettävyys. Voit asentaa sen palvelimelle ilman suurempaa vaivaa, koska palvelinta ei tarvitse liittää etä-IDE:n debuggeriin. Tämä kaikki tekee jdb:stä ihanteellisen työkalun nopeaan vianmääritykseen, mikä on tärkeää tuotantoympäristössä.

Mikä Java-vianmääritystyökalu on paras projektillesi?

Javan vianmäärityksen ei tarvitse olla niin haastavaa. Käyttämällä mitä tahansa näistä virheenkorjaustyökaluista virheenkorjausprosessi nopeutuu huomattavasti. Jokainen käyttötapaus on erilainen, mutta vaihtoehtojen arviointi auttaa sinua valitsemaan oikean työkalun projektiisi.

Javan virheenkorjaus on helpompaa, kun tiedät, missä virhe on! Raygun Crash Reporting for Java auttaa kehittäjiä havaitsemaan, diagnosoimaan ja ratkaisemaan ongelmat nopeammin ja tarkemmin. Ota ilmainen 14 päivän kokeiluversio.

Vastaa

Sähköpostiosoitettasi ei julkaista.