Udvidede indstillinger for fejlfinding i Java-beans

Under normal udvikling skal du ikke bekymre dig om den VM (virtuelle maskine), der benyttes af hver forekomst af den visuelle editor. Erfarne brugere kan konfigurere arbejdsbænken, så de meddelelser, der sendes til System.out eller System.err i VM, skrives til filen .log i biblioteket .metadata i arbejdsområdet.

Den VM, der bruges til at udføre Java-beans, er ikke den samme VM, som arbejdsbænken udføres i. En separat VM oprettes for hver forekomst af den virtuelle editor. Klassestien for denne VM er angivet til indgangene i Java-byggestien for projektet. Hvis Java-stien ændres, mens den visuelle editor er åben, skal alle åbne editors lukkes og åbnes igen, så den opdaterede byggesti afspejles.

Ved start af arbejdsbænken kan angives indstillingen -DEBUG, der peger på en tekstfil:

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

Fejlfindingsfilen indeholder de indgange, der læses af den visuelle editor. Hvis filen indeholder følgende linje, vises eventuelle meddelelser, der sendes til System.out eller System.err, på konsollen:

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

Foruden at få vist konsoloutput fra den VM, der bruges af den visuelle editor, kan du starte den i fejlfindingstilstand og udføre ekstern fejlfinding. Dette scenarie er er ikke optimalt, og det ændres muligvis i fremtidige versioner af den visuelle editor. Det er dokumenteret for det tilfælde, at du har brug for at udføre fejlfinding af Java-beans på designtidspunktet. For at udføre ekstern fejlfinding skal der udføres to arbejdsbænke: en med de Java-beans, som skal udføres fejlfinding af, og en, der kan udføre ekstern socket-baseret fejlfinding. Den anden arbejdsbænk kan udføres på den samme maskine eller på en anden maskine. For at aktivere fejlfinding for den visuelle editors VM skal filen -DEBUG indeholde følgende linje:

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

Hver gang den visuelle editor starter en VM, bliver du spurgt, om den skal startes i fejlfindingstilstand eller ej.

Den forrige dialogboks er til brug, når klassen HelloFrame.java i projektet Test åbnes med den visuelle editor. Hvis du vælger Ja eller trykker på J og derefter på Enter i konsollen, startes VM i tilstanden Afbryd midlertidigt med -Xdebug vha. en socket-connector. Der allokeres en ledig port. Du får derefter oplyst nummeret på den.

Det næste trin er at knytte en ekstern fejlfindingsfunktion til portnummer 7078. Den forekomst af arbejdsbænken, der udfører den visuelle editor, afbrydes midlertidigt, mens den eksterne fejlfindingsfunktion tilknyttes, så du skal bruge en fejlfindingsfunktion fra et andet program. Hvis det andet program er en anden forekomst af arbejdsbænken, kan du starte ekstern fejlfinding vha. menupunktet Fejlfinding > Fejlfinding og oprette en ny ekstern Java-programkonfiguration.

Angiv portnummeret, som tidligere blev skrevet til stdout - i dette tifælde 7078. Hvis fejlfindingsfunktionen er på en anden maskine, skal du i feltet Vært angive IP-adressen på den maskine, der udfører den arbejdsbænk, som der skal findes fejl i. For at starte den eksterne fejlfindingsfunktion skal du klikke på Fejlfinding og derefter trykke på J i stdin-konsollen til den arbejdsbænk, der skal findes fejl i.

Du vil blive spurgt, om du vil udføre fejlfinding af den VM, som bruges af hver forekomst af den visuelle editor, og desuden vises en meddelelse om, hvorvidt du vil udføre fejlfindig af selve projektet:

Vil du starte den eksterne vm (Projekt (Test)-Beaninfo) i fejlfindingstilstand? (Angiv J eller N):

Det er til den VM, der bruges til introspektion, og som java.beans.Introspector udføres i. Den kan skelnes fra VM'en til den virtuelle editor, fordi den ikke angiver et bestemt Java-kildefilnavn. Denne VM startes første gang, der kræves bean-oplysninger til en Java-bean i et projekt, og forbliver aktiv, sålænge projektet er åbent. Ved at foretage fejlfinding i dette projekt kan du gennemgå og analysere kode i BeanInfo-klasserne, efterhånden som der foretages introspektion af Java-beans. Introspektion forekommer én gang for hver Java-bean-klasse for hvert projekt, som den benyttes i. Resultatet opbevares i en cache for at forbedre ydeevnen. Hvis du på et tidspunkt vil rydde cachen med de BeanInfo-oplysninger, der opbevares for et projekt, kan du lukke og åbne projektet fra pop op-menuen.

Relaterede begreber
Java-bean-undtagelser
Relaterede opgaver
Udfør visuel Java-klasse som Java-bean eller -program
Konfigurér indstillinger for udførelse af Java-bean eller -program
Find fejl i visuel Java-bean eller -program

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.