Overslaan naar hoofdinhoud

Debugging

Openen in ChatGPT

Debugging is een essentieel onderdeel van Java-ontwikkeling, dat ontwikkelaars helpt om problemen efficiënt te identificeren en op te lossen. Deze gids legt uit hoe je debugging in webforJ configureert voor Visual Studio Code, IntelliJ IDEA en Eclipse.

  1. Open je webforJ-project in VS Code.
  2. Druk op Ctrl + Shift + D (of Cmd + Shift + D op Mac) om het Run and Debug-paneel te openen.
  3. Klik op "create a launch.json file"
  4. Selecteer Java als de omgeving.
  5. Wijzig launch.json om het volgende aan te passen:
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Attach to Jetty",
"request": "attach",
"hostName": "localhost",
"port": 8000
}
]
}
  1. Sla het bestand op en klik op Start Debugging.

Running the debugger

Zodra je je IDE hebt geconfigureerd:

  1. Start je webforJ-app met de bijbehorende opdracht:
    • Voor Jetty, gebruik mvnDebug jetty:run
    • Voor Spring Boot, gebruik mvnDebug spring-boot:run
  2. Voer de debugconfiguratie uit in je IDE.
  3. Zet breakpoints en begin met debuggen.
Debugging Tips
  1. Zorg ervoor dat poort 8000 beschikbaar is en niet geblokkeerd wordt door een firewall.
  2. Als je een van de webforJ-archetypes gebruikt en het poortnummer in het pom.xml-bestand hebt gewijzigd, zorg er dan voor dat de poort die voor debugging wordt gebruikt overeenkomt met de bijgewerkte waarde.

Inspecting the running app

Een debugger toont je wat je code doet. craftforJ toont je de app die door de code is geproduceerd, inclusief de componentenboom die webforJ heeft gebouwd, de eigenschappen die elke component heeft, welke route actief is en wie er toegang toe heeft. Je kunt een eigenschap veranderen, het resultaat in de draaiende app zien en die wijziging terugschrijven naar de Java waar het vandaan kwam.

craftforJ wordt geleverd met webforJ en gebruikt dezelfde debugmodus die je al hebt ingeschakeld, plus één extra eigenschap:

webforj.conf
webforj.debug = true
webforj.devtools.craftforj.enabled = true

Zie Getting started with craftforJ.