pátek 5. května 2006

Linky na víkend

Protože v poslední době nestíhám, tak jsem připravil několik zajímavých tipů na víkend.

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.

Plná velikost (cca 30KB)

public class TestApplication {
  public static void main(String[] argsthrows 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í.

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