dagblog.
← Archiv

Eclipse a drobné maličkosti — vzdálené debugování


Vzdálené debugování je proces debugování, kdy virtuální stroj, ve kterém běží debugovaná aplikace, není spuštěn přímo s vývojového prostředí, ale je spuštěn s níže uvedenými VM parametry. Díky tomu je možné celkem bezproblémově debugovat jakoukoliv javovskou aplikaci, ke které máme zdrojové kódy.

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 (význam parametrů je možné dohledat v JDK dokumentaci)

K demonstraci si v Eclipse vytvoříme jednoduchý projekt s jednou třídou, kterou budeme vzdáleně debugovat proti jejímu spuštění z přikázové řádky.

Náhled projektu v Eclipse pro vzdálené ladění
Obrázek se nepodařilo načíst. Náhled projektu v Eclipse pro vzdálené ladění

Plná velikost (cca 30KB)

public class TestApplication {

 public static void main(String[] args) throws Exception{

 Thread.sleep(5000);

 for(int i = 0; i < 10; i++){

 System.out.println(i);

 }

 }

}

 
 

Java2html

Přes menu Run >> Debug… >> Remote Java Application a tlačítko New založíme novou debug konfigurací.

Náhled konfigurace vzdáleného ladění v Eclipse
Obrázek se nepodařilo načíst. Náhled konfigurace vzdáleného ladění v Eclipse

Plná velikost (cca 44KB)

  • Project — projekt v Eclipse, ve kterém leží zdrojové soubory debugované aplikace. Přes záložku Source je možné případně nastavit další lokace zdrojových souborů (další projekty, lokální složky či archívy se zdrojovými kódy apod.).
  • Connection type — typ transportního kanálu mezi vzdálenou VM a Eclipse(defaultně socket viz transport=dt_socket)
  • Host — host, na kterém poběží debugovaná aplikace
  • Port — debug port vzdálené VM (viz address=8000)

Nyní je všechno připraveno k vzdálenému debugování. Aplikaci spustíme s výše uvedenými JVM parametry.

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 TestApplication

V Eclipse pak spustíme debug klasickým způsobem, kdy vybereme námi definovanou debug konfiguraci (v našem příkladě remote debuging example).

Související články

Verze na Medium · Archiv původní stránky · Snímky obrazovky: Roman Pichlík, CC BY 3.0 · Historický odkaz Sweb

Související články

Související epizody CZ Podcastu