6 felsökningsverktyg i Java som du bör känna till

, Author

By Anna Monus | Posted aug 15, 2018| 7 min. (1389 ord)

Denna artikel uppdaterades senast januari 2020

I en idealisk värld skulle buggar aldrig nå produktion. Men programvarufel är en oundviklig del av en utvecklares liv. Java felsökningsverktyg finns för att hjälpa oss att lösa fel snabbare, så att vi kan fortsätta med det vi gör bäst.

Denna lista över Java felsökningsverktyg hjälper dig att utvärdera dina alternativ snabbt så att du kan hitta det bästa för jobbet.

Raygun Crash Reporting

Raygun är ett Java felsökningsverktyg

En av de svåraste sakerna med felsökning är att du inte alltid vet vilka fel dina användare upplever. Raygun Error Monitoring har allt du behöver för att upptäcka buggar, fel och krascher som inträffar i produktion och utanför.

Raygun4Java gör det möjligt för dig att skicka undantag från skrivbords- och konsol-Java- och Scala-appar som standard. Du kan skicka alla dina undantag till din Raygun dashboard så att du kan se en detaljerad diagnos för varje fel, inklusive fullständiga stack traces, data relaterade till metod-, funktions- och klassnamn med mera.

Installationen och konfigurationen tar inte mer än några minuter. Raygun kan bearbeta alla objekt som ärver från Throwable-klassen. Avancerade funktioner som Breadcrumbs, Filters och Custom Tags underlättar också felsökningsprocessen.

Eclipse

Eclipse är ett felsökningsverktyg för Java

Eclipse är ett populärt öppen källkods-IDE som används för Javautveckling, men det finns även plugins för andra språk som PHP, Python, Ruby och C#. Eclipse-plattformen har avancerade felsökningsfunktioner som hjälper dig att inspektera din kod under körning, vilket gör det till ett väl avvägt verktyg. En stor fördel är att Eclipse-arbetsflödet är bekvämt eftersom du kan använda samma plattform för både utveckling och felsökning.

En av de bästa funktionerna i Eclipse är felsökningsperspektivet, som visar relevant felsökningsinformation sida vid sida, t.ex. variabler, brytpunkter, trådar och anropstackar.

Med Eclipse kan du också avbryta och återuppta trådar, gå igenom utförandet av programmet, inspektera värden och utvärdera uttryck.

NetBeans

NetBeans är ett verktyg för felsökning i Java

NetBeans är ett annat gratis IDE med öppen källkod. Precis som Eclipse är felsökningsfunktionerna inbyggda i plattformen, så du behöver bara ladda ner IDE för att få felsökningsverktyget.

NetBeans finns i olika paket för nedladdning; för Java behöver du antingen Java SE- eller Java EE-utgåvan. Den senare har också stöd för HTML5, JavaScript och servrarna GlassFish och Tomcat, så det är ett bättre val för mer seriöst utvecklingsarbete.

The NetBeans Debugger har många liknande funktioner som Eclipse. Faktum är att båda är utmärkta felsökningsverktyg för att inspektera källkoden och identifiera problem som minnesläckor och samtidighetsproblem. Med NetBeans kan du ställa in brytpunkter och villkorliga brytpunkter, gå igenom koden, byta trådar och övervaka utförandet i realtid.

NetBeans ger dig också den praktiska Visual Debugger-funktionen så att du kan felsöka de visuella elementen i dina Java- och JavaFX GUI-program. Med Visual Debugger kan du lägga till lyssnare till GUI-åtgärder, visa komponentegenskaper och komponenthierarkin samt lokalisera källkoden.

Om du använder NetBeans får du också tillgång till det inbyggda verktyget NetBeans Profiler. Med profileraren kan du kontrollera minnesanvändning, CPU-prestanda, trådtillstånd och andra egenskaper hos din Java-applikation. Dessa funktioner arbetar tillsammans för att hjälpa dig att optimera hastighet och minnesanvändning och minska overhead.

När NetBeans förvärvades av Apache Software Foundation i början av 2018 kan du förvänta dig fler integrationer och utökade funktioner i framtiden – särskilt som Apache redan är värd för många av Java-projekten, från Maven-byggverktyget till Tomcat-servern.

IntelliJ IDEA

IntelliJ IDEA är ett Java-felsökningsverktyg

När Eclipse och NetBeans är IntelliJ IDEA det tredje IDE som Java-utvecklare brukar nämna när man frågar dem vilket IDE de använder. IntelliJ IDEA är utvecklat av JetBrains och finns både i en community-version med öppen källkod och i en kommersiell utgåva mot betalning. Det är huvudsakligen ett Java-IDE, men du kan också använda det med andra JVM-språk som Groovy, Kotlin och Scala. Den kommersiella utgåvan stöder också många JVM- och icke-JVM-ramverk, till exempel Spring, Java EE, Play, Grails, GWT och Vaadin. Ännu bättre är att båda utgåvorna har stöd för Android-utveckling – bra om du driver flera projekt. Precis som de IDE-debuggare som nämns ovan innehåller IntelliJ IDEA också en inbyggd Java-debugger som fungerar out-of-the-box.

IntelliJ IDEA har alla standardfunktioner för felsökning som du förväntar dig av ett av de bästa felsökningsverktygen i klassen. IntelliJ IDEA gör det möjligt för dig att:

  • Skapa och konfigurera brytpunkter och bevakningspunkter
  • Utvärdera uttryck
  • Pausera och återuppta felsökningssessionen
  • Undersök suspenderade trådar
  • Skynda dig genom källkoden
  • Analysera minnesanvändning
  • … Och mer

Du kan också använda IntelliJ IDEA för att felsöka Java-program på distans.

Inline debugging är den mest intressanta och unika funktionen i IntelliJ IDEA. Inline debugger visar värdena för variabler i koden, precis bredvid den rad där de användes. När variabelns värde ändras markerar inline debugger den med en annan färg. För att kontrollera värdena behöver du inte flytta till fönstret Debug eller hålla muspekaren över varje variabel en efter en som med Med Eclipse och NetBeans.

Visual Studio Code

Visual Studio Code är ett verktyg för Java-debuggning

Du behöver inte alltid använda ett IDE för att debugga Java-applikationer. Microsofts plattformsoberoende källkodsredigerare Visual Studio Code gör även Java-debuggning möjlig genom tillägget Debugger for Java.

Om du ändå använder Visual Studio Code för kodredigering och behöver ett lättviktigt och lättanvänt felsökningsverktyg för ditt arbetsflöde för Java-utveckling är Visual Studio Code ett utmärkt val. Även om det inte har lika många avancerade funktioner som IDE-debuggerverktyg vet det allt du behöver för en snabb felsökningssession.

Visual Studio Codes Java-debugger är baserad på Java Debug Server som utökar ett annat Visual Studio Code-tillägg som heter Language Support for Java från Red Hat.

VS Code debugger låter dig:

  • Upprätta lokal och fjärrdebuggning
  • Inställ villkorliga brytpunkter och loggpunkter
  • Skynda dig genom källkoden
  • Inspektera och titta på variabler
  • Se anrop. stackar
  • Bugga flera trådar
  • Utvärdera uttryck
  • Använd hot code replacement

VS Code’s debugger extension kommer med många konfigurationsalternativ som du kan kolla in i dokumentationen.

The Java Debugger (jdb)

JDB är ett verktyg för Java-debuggning

Om du inte kan (eller inte vill) använda extern programvara för Java-debuggning är det också möjligt att debugga Java-program från kommandoraden. Java Debugger (jdb) är en enkel felsökare på kommandoraden som tillhandahålls av Oracle. Det är motsvarigheten till GNU Debugger (gdb) för Java Virtual Machine. Java Debugger ingår i Java SE Development Kit, så om du har JDK installerat på din maskin behöver du inte göra något annat. Du kan starta felsökaren med kommandot jdb och få tillgång till listan över kommandon med kommandot help.

Java Debugger är i själva verket en demonstration av Java Platform Debugger Architecture (JDPA). JDPA är en samling av tre gränssnitt: JVM TI (Java Virtual Machine Tools Interface), JDWP (Java Debug Wire Protocol) och JDI (Java Debug Interface). JDPA är en felsökningsarkitektur som ger utvecklare verktyg för att skapa egna felsökningstillämpningar – jdb är bara en av JDPA:s möjliga användningsområden.

Med felsökaren jdb kan du utföra djupgående felsökningssessioner på kommandoraden. Med jdb debugger kan du:

  • Lista, avbryta, och återuppta trådar
  • Utvärdera uttryck
  • Skriv ut all objektinformation
  • Sätt brytpunkter
  • Bevaka fält
  • Spåra metodanrop
  • Skritta genom koden
  • Att tillåta och förhindra skräpplockning av ett objekt

En kommandoradsdebugger är inte det bästa valet för vardagligt utvecklingsarbete på grund av dess komplexitet. Ändå har den en fördel – portabilitet. Du kan konfigurera den på en server utan alltför mycket krångel, eftersom du inte behöver koppla servern till en fjärr-DE-debugger. Allt detta gör jdb till ett idealiskt verktyg för snabb felsökning, vilket är viktigt i en produktionsmiljö.

Vilket Java-felsökningsverktyg är bäst för ditt projekt?

Felsökning av Java behöver inte vara en sådan utmaning. Om du använder något av dessa felsökningsverktyg kommer felsökningsprocessen att gå mycket snabbare. Varje användningsfall kommer att vara annorlunda, men genom att utvärdera dina alternativ kan du välja rätt verktyg för ditt projekt.

Debuggning av Java är lättare när du vet var felet finns! Raygun Crash Reporting for Java hjälper utvecklare att upptäcka, diagnostisera och lösa problem snabbare och mer exakt. Ta en gratis 14-dagars provperiod.

Lämna ett svar

Din e-postadress kommer inte publiceras.