További beállítások Java komponensek hibakereséséhez

Normál esetben a fejlesztőnek általában nem kell a vizuális szerkesztő példányok által használt virtuális géppel foglalkoznia. A tapasztalt felhasználók azonban beállíthatják a munkaterületet úgy, hogy a virtuális gép System.out illetve System.err kimenetére küldött üzenetek a munkaterület .metadata könyvtárában található .log fájlba kerüljenek.

A Java komponenseket futtató virtuális gép nem egyezik meg azzal, amelyikben a munkaterület fut. A vizuális szerkesztő minden egyes példányához külön virtuális gépjön létre. A virtuális gépek osztályútvonala a Java projekt összeépítési útvonalának bejegyzéseit tartalmazza. Ha a Java összeépítési útvonal módosul, akkor a változások életbe léptetéséhez be kell zárni, majd újra kell indítani a megnyitott vizuális szerkesztő példányokat.

A munkaterület indításakor a felhasználó megadhatja a -DEBUG kapcsolót egy szöveges elérési útjával:

-DEBUG file:/c:/temp/options.txt

Ez a hibakeresési fájl, amelynek bejegyzéseit a vizuális szerkesztő beolvassa. Ha a fájl tartalmazza az alábbi sort, akkor a System.out vagy System.err folyamra küldött üzenetek a konzolon jelennek meg:

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

A vizuális szerkesztő által használt VM üzeneteinek konzolos megjelenítésén kívül hibakeresési üzemmódban is elindíthatja a virtuális gépet, és távoli hibakeresést hajthat végre. Ez a művelet azonban nincs optimalizálva, és a vizuális szerkesztő későbbi változataiban valószínűleg meg fog változni. Mindazonáltal a funkció dokumentált és rendelkezésre áll arra az esetre, ha szükség lenne a Java komponensek hibakeresésére tervezési időben. A távoli hibakereséshez két munkaterület szükséges: egy a Java komponensek, egy másik pedig a socket alapú távoli hibakeresés futtatásához. A második munkaterület lehet futhat ugyanazon, vagy egy másik gépen is. A vizuális szerkesztő virtuális gépének hibakereséséhez a -DEBUG kapcsolóval megadott fájlnak tartalmaznia kell az alábbi sort:

org.eclipse.jem.proxy/remote/debug/debugvm=true

Amikor a vizuális szerkesztő elindít egy virtuális gépet, rákérdez, hogy kívánja-e hibakeresés módban indítani azt.

Az előző párbeszédablakot a Teszt projekt HelloFrame.java osztályának megnyitásakor jeleníti meg a vizuális szerkesztő. Ha az Igen gombra kattint, vagy a konzolon megnyomja az I billentyűt majd az Entert, akkor a virtuális gép az -Xdebug kapcsolóval felfüggesztett módban indul egy socket kapcsolattal. Egy szabad port kerül lefoglalásra. Majd a rendszer közli a felhasználóval a számát.

A következő lépés egy távoli hibakereső csatlakoztatása a 7078-as portra. A vizuális szerkesztőt futtató munkaterület példány a távoli hibakereső csatlakoztatása alatt felfüggesztésre kerül, ezért egy másik alkalmazásból kell használnia a hibakeresést. Ha a másik alkalmazás a munkaterület egy további példánya, akkor a hibakeresést elkezdheti a menüpont Hibakeresés > Hibakeresés elemével és létrehozhat egy Távoli Java alkalmazás konfigurációt.

Adja meg az stdout kimenetre írt portszámot, esetünkben a 7078 értéket. Ha a hibakereső másik gépen található, akkor a Hoszt mezőben adja meg a hibakeresni kívánt munkaterületet futtató számítógép IP címét. A távoli hibakeresés elindításához kattintson a Hibakeresés gombra, majd a hibakeresés alatt álló munkaterülethez tartozó stdin konzolon nyomja meg az I billentyűt.

A vizuális szerkesztő példányok által használt virtuális gép hibakeresésén kívül a projekt a hibakeresését is meg kell erősítenie:

Kívánja hibakeresés módban indítani a távoli virtuális gépet (Projekt (Teszt)- Beaninfo)? (Nyomja meg a 'I' vagy a 'N' billentyűt):

Ez a belső elemzést végző illetve a java.beans.Introspector-t futtató virtuális gépre vonatkozik, ami úgy különböztethető a vizuális szerkesztő virtuális gépétől, hogy ez nem határozza meg egy adott Java forrásfájl nevét. Ez a virtuális gép akkor indul, amikor első ízben van szükség egy Java komponens BeanInfo információira a projekten belül, és mindaddig aktív marad, amíg a felhasználó a projektet be nem zárja. A projekt hibakeresésével keresztüllépkedhet és kielemezheti a BeanInfo osztályokban található, a Java komponensek belső elemzése során lefutó kódot. Egy Java komponensosztály belső elemzése a komponens projekten belüli első használatakor fut le. A teljesítmény javítása érdekében az eredmény a gyorsítótárba kerül. Ha bármikor szükség lenne a BeanInfoinformation információkat tartalmazó gyorsítótár törlésére, akkor zárja be majd nyissa meg újra a projektet az előugró menüjének bezárás illetve megnyitás menüpontjával.

Kapcsolódó fogalmak
Java komponens kivételek
Kapcsolódó feladatok
Vizuális osztály futtatása Java komponensként vagy alkalmazásként
Java komponens vagy Java alkalmazás futási beállításainak konfigurálása
Vizuális Java komponens vagy alkalmazás hibakeresése
Kisalkalmazások tesztelése és telepítése

(C) Copyright IBM Corporation 1999, 2004. Minden jog fenntartva.