Eclipse - ladenie skriptov

Aby bolo možné ladiť skripty počas činnosti, musí byť proces, v ktorom beží Java Virtual Machine (JVM) vykonávajúci skript (EVENT.EXE/HI.EXE), spustený s parametrom "--java-debug", ktorý spustí JVM v režime vzdialeného ladenia.
Tento parameter je ekvivalentom, resp. "skratkou" zápisu parametra "--JVM-OPTION=-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n".

Princíp ladenia funguje tak, že Eclipse sa pripojí k JVM cez TCP/IP vrstvu na definovaný port (štandardne 8000, je možné zmeniť parametrom "address") a takto vzniknutým kanálom vykonáva samotné ladenie programu.

**Na jednom počítači môže len jeden JVM očakávať pripojenia na jednom porte. Preto, v prípade, že je potreba ladiť viac schém/eventov bežiacich na rôznych EVENT.EXE/HI.EXE, je nutné pre každý proces nastaviť iný TCP/IP port pomocou parametrov z príkazového riadku.

Napríklad:

hi.exe --JVM-OPTION=-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
event.exe --JVM-OPTION=-agentlib:jdwp=transport=dt_socket,server=y,address=8001,suspend=n

Ak máme spustený proces v režime ladenia, potrebujeme vytvoriť v Eclipse konfiguráciu ladenia (debug configuration).

Postup je nasledovný:

  1. Otvoríme si schému/event, ktorý ideme ladiť (v ukážke je to schéma S$TEST1).
    Konfigurácia ladenia - otvorenie schemy
  2. Z menu vyberieme Run -> Debug configurations, otvorí sa dialóg, v ktorom vytvoríme novú konfiguráciu ladenia ako Remote Java Application.
    Konfigurácia ladenia - nová konfigurácia
  3. Vyplníme číslo portu, ktorý bol zadaný pri štarte event.exe/hi.exe (resp. necháme 8000, ak bol použitý skrátený parameter "--java-debug") a stlačíme tlačidlo Debug.
    Konfigurácia ladenia - číslo portu
  4. Nastavíme zarážku -1 (breakpoint) na požadovaný riadok. Konfigurácia ladenia - nastavenie zarážky
  5. Vykonávanie skriptu sa zastaví na riadku a môžeme krokovať (pomocou tlačidiel - 1), prezerať hodnoty premenných, ... Konfigurácia ladenia - krokovanie

Poznámka: Pre ďalšie ladenie toho istého skriptu už nie je potrebné vytvárať konfiguráciu (body 1, 2, 3).

Napíšte komentár