The Java Debugger. Seminararbeit von Felix Frei. Fachhochschule Aargau Departement Technik Studiengang I

Größe: px
Ab Seite anzeigen:

Download "The Java Debugger. Seminararbeit von Felix Frei. Fachhochschule Aargau Departement Technik Studiengang I"

Transkript

1 The Java Debugger Seminararbeit von Felix Frei Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. Dominik Gruntz Windisch, 16. Mai 2002

2 Abstract JPDA is a multi-tiered debugging architecture that allows tools developers to easily create debugger applications which run portably across platforms, virtual machine (VM) implementations and SDK versions. It provides a way both to inspect the state and to control the execution of applications running in the Java TM Virtual Machine. The Java Platform Debugger Architecture (JPDA) consists of two interfaces (JVMDI and JDI), a protocol (JDWP) and two software components which tie them together (back-end and front-end). The Java Debugger, jdb, is a simple command-line debugger for Java classes. It is a demonstration of the Java Platform Debugger Architecture that provides inspection and debugging of a local or remote Java Virtual Machine.

3 Zusammenfassung JPDA ist eine Debugging Architektur, die es Entwicklern erlaubt eine portable Debug-Applikation zu schreiben. Einerseits wird die Möglichkeit zur Verfügung gestellt, den Status einer Applikation, die in einer Virtullen Maschine läuft zu überprüfen und andererseits auch die Ausführung dieser zu steuern. Die Java Platform Debugger Architektur (JPDA) besteht aus zwei Interfaces (JVMDI and JDI), einem Protokoll (JDWP) und zwei Software Komponenten, welche sie zusammen fügt (back-end und front-end). Der Java Debugger, jdb, ist ein einfacher Kommandozeilen Debugger für Java Klassen. Er ist eine Demonstration der Java TM Platform Debugger Architektur und bietet die Möglichkeit lokale und remote Java Virtual Maschinen zu debuggen.

4 Inhaltsverzeichnis Einleitung 1 1 Java TM Plattform Debugger Architektur Komponenten HotSwap Class File Replacement Beispiel JDI Applikationen von Sun JSwat Debugger Interfaces Java TM Virtual Machine Debug Interface (JVMDI) Java TM Debug Wire Protocol (JDWP) Java TM Debug Interface (JDI) Verbindung und Aufruf Transport Connectors jdb - The Java TM Debugger Verwendung mit einer neuen Java TM Virtual Machine Hinzufügen zu einer bestehenden Java TM Virtual Machine jdb-kommandos Kommando Zeilen Optionen Testversuche mit jdb Schlusswort 16 A Beispiel debugging eines Servlet 17

5 INHALTSVERZEICHNIS ii Literaturverzeichnis 20

6 Einleitung Im Rahmen der verschieden Seminarberichte war ein Thema der Java Debugger jdb. Über das Debuggen von Applikation hört man sehr unterschiedliche Meinungen. Während die einen Entwickler auf Fehlersuche mit einem Debugger schwören, sehen andere in diesen Tools keinen grossen Vorteil. Sie sind der Meinung, dass man mit Hilfe eines sauberen Programmierstils und Konsolenausgabe Fehler genauso gut finden kann, was sicherlich unbestritten ist. Trotz allem bin ich der Meinung, dass ein geschickt eingesetzter Debugger zum Lösen von Problemen beitragen kann. Dieser Bericht soll auf der einen Seite dem interessierten Leser die Möglichkeiten geben die Java TM Plattform Debugger Architektur kennen zu lernen. Auf der anderen Seite werden verschiedene Einsatzmöglichkeiten des Tools jdb erläutert. Die Seminararbeit richtet sich vor allem an Java TM Entwickler, die die entsprechenden Vorkenntnisse besitzen. Da die ganze Architektur sehr umfangreich ist, wäre es eine Illusion zu glauben, dass man nach dem Lesen dieser Arbeit das nötige Wissen hat, um einen Debugger zu implementieren. Viel mehr dient diese Arbeit als Sprungbrett für Entwickler, die sich in diese Materie einarbeiten wollen, oder einfach sehen möchten, welche Möglichkeiten das Tool jdb zu bieten hat.

7 Kapitel 1 Java TM Plattform Debugger Architektur JPDA ist eine Debugging Architektur die es Entwicklern erlaubt eine portable Debug-Applikation zu schreiben. JPDA existiert in dieser Form seit der Standard Edition (J2SETM) SDK 1.3 auf allen Plattformen und seit SDK für Linux. Sie besteht aus folgenden Komponenten. [2] Abbildung 1.1: JPDA-Komponenten

8 1.1. KOMPONENTEN Komponenten debuggee Debuggee ist der Prozess, der zu debuggen ist. Er enthält die Anwendung, die gedebuggt wird, die Target-VM (Virtual Machine), unter der die Anwendung läuft und das back-end des Debuggers. Java TM Virtual Machine (VM) VM ist die Target-Virtual-Machine, auf der die zu debuggende Anwendung läuft. Die Debugger-Architektur ist für ein weites Spektrum an VM- Implementierungen ausgelegt. Die VM implementiert das Java TM Virtual Machine Debug Interface (JVMDI). back-end Das back-end ist für die Kommunikation zwischen dem Debugger-front-end und der Target-VM vorgesehen. Die Kommunikation läuft über einen communication channel, der das Java TM Debug Wire Protocol (JDWP) benutzt. Das backend benutzt für die Kommunikation mit der VM das Java TM Virtual Machine Debug Interface (JVMDI). communication channel Der communication channel ist die Verbindung zwischen dem front-end und dem back-end des Debuggers. Der Transportmechanismus ist unspezifisch. Als mögliche Mechanismen kommen in Frage: Sockets Serielle Leitungen Shared Memory Das Format und die Semantik des serialized bit-stream Flusses über den Channel, werden durch das Java TM Debug Wire Protocol (JDWP) festgelegt. front-end Das Debugger front-end implementiert das high-level Java TM Debug Interface (JDI). Das front-end nutzt die Information vom low-level Java TM Debug Wire Protocol (JDWP).

9 1.2. HOTSWAP CLASS FILE REPLACEMENT 4 User Interface (UI) Das User Interface (UI) des Debuggers ist nicht spezifiziert. Hier hat der Anwender die Möglichkeit, seine eigenen Debug-Tools einzuhängen. Als Beispiels- Implementierungen enthält das JPDA-Paket die Programme JDB und JA- VADT. Diese Anwendungen benutzen das Java TM Debug Interface (JDI). 1.2 HotSwap Class File Replacement Seit jdk1.4 hat man neu die Möglichkeit Code während einer Debugg-Session zu ändern und neu zu kompilieren. Der Code wird also zur Laufzeit ausgetauscht und man muss die Applikation nicht nach jeder Korrektur neu starten. Dies kann von Vorteil sein, wenn man ein Server hat den man reparieren muss, diesen aber nicht jedes Mal herunterfahren kann. Natürlich sind dem HotSwap Class File Replacement Grenzen gesetzt. So werden Objekte die bereits auf dem Stack sind natürlich nicht erneuert, ausser diese werden neu instanziert. 1.3 Beispiel JDI Applikationen von Sun Sun stellt 3 Beispielprogramme zur Verfügung die den Einstieg erleichtern sollen falls man ein Debugger programmieren möchte. Trace Zeigt die Spuren der Programmausführung auf. Jdb Der Kommandozeilen Debugger von Sun, der mit dem J2SE SDK ebenfalls mitgeliefert wird. Javadt Ein sehr simpler GUI Debugger. Man findet den Sourcecode mit Dokumentation in folgendem File. C:\j2sdk1.4.0\demo\jpda\examples.jar 1.4 JSwat JSwat ist ein erweiterbares graphisches standalone Java Debugger Frond-End. Dieses verwendet die Java Platform Debugger Architecture (JPDA). Das Programm unterliegt der GNU General Public License und es sind sowohl der Source Code wie auch die Binarys erhältlich. Dieser Debugger ist sehr ausgereift und unterstützt ziemlich viele Möglichkeiten, die sich einem mit der JPDA bieten.[8]

10 Kapitel 2 Debugger Interfaces 2.1 Java TM Virtual Machine Debug Interface (JVM- DI) Das Java TM Virtual Machine Debug Interface (JVMDI) ist ein Programmier Interface, das von Debugger und anderen Programmiertools verwendet werden kann. Es stellt einerseits die Möglichkeit zur Verfügung, den Status einer Applikation, die in der Virtuellen Maschiene läuft, zu überprüfen. Andererseits auch die Ausführung dieser zu steuern. JVMDI Klienten laufen in der selben Virtuellen Maschine wie die Applikation, die zu debuggen ist. Der Zugriff zum JVMDI geschieht via native Interface.[3] 2.2 Java TM Debug Wire Protocol (JDWP) Das Java TM Debug Wire Protokoll ist das Protokoll, welches für die Kommunikation zwischen Debugger und der virtuellen Maschine verwendet wird in der die Applikation läuft, die man debuggen möchte. Dank dem Java TM Debug Wire Protokoll ist es möglich einerseits auf dem selben Computer über verschiedene Prozesse hinweg zu arbeiten, und andererseits auch eine Verbindung mit einem remote Computer aufzunehmen. Der Unterschied des JDWP zu vielen anderen Protokollspezifikationen liegt darin, dass zwar das Format und das Layout spezifiziert sind, nicht aber der Transportmechanismus. Je nach JDWP Implementation sind verschiedene Transportmechanismen möglich.[4] JDWP Pakete Man unterscheidet grundsätzlich die zwei Pakettypen command und replay. Command Pakete werden entweder vom Debugger oder der Ziel virtuellen Maschine versendet. Sie werden vom Debugger verwendet um Information von einer virtuellen Maschine anzufordern oder um die Ausführung einer Applika-

11 2.3. JAVA TM DEBUG INTERFACE (JDI) 6 tion zu kontrollieren. Die VM sendet command Pakete, um dem Debugger Events, wie Breakpoints oder Exceptions, mitzuteilen. Ein replay Paket wird nur als Antwort auf ein command Paket versendet und enthält Information über Erfolg oder Fehler des command Paketes. Replay Pakete können auch Daten enthalten, die vom command Paket angefordert wurden. Zum Beispiel den Wert einer Variable. 2.3 Java TM Debug Interface (JDI) Das Java TM Debug Interface (JDI) ist eine High Level Java TM API, die Information für Debugger oder ähnliche Systeme zur Verfügung stellt, die Zugriff zu einer laufenden Java TM Virtual Maschine benötigen. Das JDI Interface stellt introspektiven Zugriff zu folgenden Komponenten einer Java TM Virtual Maschine sicher. Insbesondere kann man auch private Merkmale inspizieren. Status Klassen Interfaces Primitive Typen Instanzen von primitiven Typen Das JDI Interface stellt auch explizite Kontrolle bei der Ausführung der Virtuellen Maschine zur Verfügung. Man hat die Möglichkeit Threads zu suspendieren und wiederaufzunehmen, Breakpoints zu setzen und ein entsprechend suspendierten Thread zu untersuchen. JDI ist der höchste Layer der Java TM Platform Debugger Architektur (JPDA).[5]

12 Kapitel 3 Verbindung und Aufruf 3.1 Transport Ein JPDA Transport ist eine Kommunikation zwischen zwei Prozessen und zwar auf der einen Seite die Debugger Applikation und auf der anderen Seite die Virtuelle Maschine, die zu debuggen ist. Diese Transport Implementation erlaubt die Kommunikation sowohl zwischen Prozessen auf der selben Maschinen, wie auch zwischen Prozessen auf verschiedenen Maschinen. Wenn zwischen einer debugger Applikation und einer Ziel-VM eine Verbindung aufgebaut wird, so übernimmt die eine Seite die Rolle des Servers und wartet auf die Verbindung, während die andere Seite dann später mit dem Server eine Verbindung aufnehmen kann. JPDA-Kommunikation erlaubt sowohl der Debugger Applikation wie auch der Ziel VM als Server zu agiren. Die JPDA Referenz Implementation auf der Win 32 Plattform erlaubt sowohl den Transport über Sockets, wie auch über shared memory. Die Referenz Implementation auf Solaris hingegen unterstützt nur den Socket Transport.[6] Socket Transport Der Socket Transport verwendet Standard TCP/IP Sockets, um zwischen der Debugger Applikation und der Ziel VM zu kommunizieren. Falls die Kommunikation über Sockets geschieht, müssen die Debugger Applikation und die Ziel-VM nicht zwingend auf der selben Maschine sein. Shared Memory Transport Nebst dem Transport über Socket, hat man auf der Win32 Plattform auch die Möglichkeit eine Verbindung über shared memory aufzubauen. Unter Verwendung des shared memory Transport müssen aber die Debugger Applikation und die Ziel VM auf der selben Maschine sein.

13 3.2. CONNECTORS Connectors Ein Connector ist eine JDI Abstraktion die verwendet wird, um eine Verbindung zwischen einer Debugger Applikation und einer Ziel VM aufzubauen. Verschiedene JDI Implementationen unterstützen diverse Connectoren für eine Verbindung. Hier werden die Connectoren kurz erläutert und jeweils ein Beispiel angegeben. Je nach Beispiel muss nicht nur der Debugger entsprechend gestartet werden, sondern auch die Applikation, die zu debuggen ist. Je nach Connector muss zuerst der Debugger oder zuerst die Applikation gestartet werden. Die Applikation die zu debuggen ist, muss entsprechend gestartet werden, wobei man normalerweise die Option -Xrunjdwp verwendet: Sun Command Line Launching Connector Dieser Connector kann verwendet werden, um eine Sun VM oder eine beliebige VM zu starten, welche die selben Aufruf-Optionen unterstützt. Unter Windows geschieht der Transport via Shared Memory, während auf der Solaris der Socket Transport verwendet wird. F:\jdb\TestProg>jdb -connect com.sun.jdi.commandlinelaunch:main=myclass Raw Command Line Launching Connector Um eine beliebige VM zu starten, hat man einen weiteren Connector zur Verfügung. Unter Windows geschieht der Transport via Shared Memory, während auf der Solaris der Socket Transport verwendet wird. F:\jdb\TestProg>jdb -connect com.sun.jdi.rawcommandlinelaunch:command="java MyClass" Socket Attaching Connector Um via Socket eine Verbindung zu einer bereits laufenden Virtuellen Maschine aufzubauen, existiert ein Socket Attaching Connector, wobei aber die Ziel Virtuelle Maschine mit entsprechenden Optionen gestartet werden muss. SHELL 1 F:\jdb\TestProg>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y MyClass Listening for transport dt_socket at address: 3011 SHELL2

14 3.2. CONNECTORS 9 jdb -connect com.sun.jdi.socketattach:port=3011,hostname=localhost Shared Memory Attaching Connector Wie bereits erwähnt, hat man auf der Windows Plattform die Möglichkeit via Shared Memory eine Verbindung zu einer bereits laufenden Virtuellen Maschine aufzubauen. Die Virtuelle Maschine muss ebenfalls mit entsprechenden Optionen gestartet werden. SHELL 1 F:\jdb\TestProg>java -Xdebug -Xrunjdwp:transport=dt_shmem,server=y,address=jdbconn MyClass SHELL 2 jdb -connect com.sun.jdi.sharedmemoryattach:name=jdbconn Shared Memory Listening Connector Ein Debugger kann auch via Shared Memory ein Aufruf von einer separaten Virtuellen Maschine akzeptieren. Bei dieser Art von Verbindung, agiert der Debugger als Server und wird zuerst gestartet. SHELL 1 jdb -connect com.sun.jdi.sharedmemorylisten:name=jdbconn Listening at address: jdbconn SHELL 2 F:\jdb\TestProg>java -Xdebug -Xrunjdwp:transport=dt_shmem,server=n,address=jdbconn MyClass Socket Listening Connector Eigentlich besteht auch die Möglichkeit eine Debugger Applikation zu starten und dann von einer anderen Virtuellen Maschine aus eine Verbindung via Sockets zu erstellen. Leider funktioniert dieser Connector aber nicht richtig, es handelt sich vermutlich um einen Bug in der Virtuellen Maschine! SHELL 1 ia99frei@mr6550b:~> jdb -connect com.sun.jdi.socketlisten:port=33333

15 3.2. CONNECTORS 10 Listening at address: mr6550b.fh-aargau:33333 SHELL 2 ia99frei@mr6550b:/windows/e/jdb/testprog> java -Xrunjdwp:transport=dt_socket, server=n,address=localhost:33333 MyClass.. Local Time = Sat May 4 17:13: Elapsed Time = 0 # # HotSpot Virtual Machine Error : 11 # Error ID : 4F530E CC # Please report this error at # # # Java VM: Java HotSpot(TM) Client VM (1.3.1-b24 mixed mode) # # An error report file has been saved as hs_err_pid5358.log. # Please refer to the file for further information. # Aborted ia99frei@mr6550b:/windows/e/jdb/testprog>

16 Kapitel 4 jdb - The Java TM Debugger Der Java TM Debugger jdb ist ein simples Kommandozeilentool (Wie der Interpreter, Compiler und der Appletviewer). Man kann den jdb auch als Demonstration der Java TM Platform Debugger Architecture betrachten. Diese unterstützt das Debuggen von lokalen und remote Java TM Virtual Maschinen. Die Klassen die man debuggen möchte, müssen mit der Option -g kompiliert werden, falls man auch auf lokale Variablen zugreifen möchte.[7] 4.1 Verwendung mit einer neuen Java TM Virtual Machine Am einfachsten ist der jdb einfach so zu verwenden, als würde man eine Klasse mit dem Interpreter ausführen. jdb classname <arguments> 4.2 Hinzufügen zu einer bestehenden Java TM Virtual Machine Die zweite Methode mit dem jdb zu debuggen, ist eine Verbindung zu einer laufenden Virtuellen Maschine aufzubauen. Hier stehen zahlreiche Möglichkeiten zur Verfügung auf die im Kapitel 3 auf Seite 7 näher eingegangen wurde. 4.3 jdb-kommandos Die folgende Liste zeigt einige möglichen Kommandos, die der jdb Debugger zur Verfügung stellt.

17 4.3. JDB-KOMMANDOS 12 Basis jdb-kommandos!! Der zuletzt eingegebene Befehl wird nochmals wiederholt.? Zeigt ein Liste aller Kommandos classes Gibt die Namen und ID s der Klassen aus, die bereits geladen sind. down< n > Der aktuelle Stack-Bereich eines Threads wird um n Frames nach unten gesetzt. Ohne Parameter wird das Frame um eine Einheit nach unten bewegt. dump Für einfache Datentypen hat dieses Kommando den selben Effekt wie print. Bei Objekten wird die aktuelle Variable von jeden Feld ausgegeben. run Nach dem Starten des jdb und dem Setzen von eventuellen Breakpoints, kann man mit run das Ausführen der Applikation starten. Dieses Kommando steht nur zur Verfügung, wenn jdb die Applikation ausführt. Nicht aber, wenn eine Verbindung zu einer anderen Virtuellen Maschine aufgebaut wurde. cont Fährt mit der Ausführung weiter nach Breakpoints, Exceptions oder Steps. print Zeigt Java TM Objekte und einfache Datentypen. Bei Variablen und Feldern von einfachen Datentypen wird der Wert der Variablen ausgegeben, währen bei Objekten ein kurzer Beschrieb angezeigt wird. threads Zeigt alle aktuellen Threads auf, wobei jeweils der Name und der aktulle Status ausgegeben werden, wie auch der Index den man für weitere Kommandos benötigt. thread Wird verwendet, um ein Thread zu selektieren und zwar mit Hilfe der Indexes, die man mit dem threads Kommando erhält. where Ohne Argumente zeigt where den Inhalt des aktuellen Thread an. where all zeigt den Stackinhalt aller Threads der aktuellen Threadgruppe an. where threadindex zeigt den Inhalt des gewünschten Thread an. Falls der aktuelle Thread suspendiert ist, entweder durch einen Breakpoint oder mit Hilfe des suspend Kommando, können lokale Variablen und Felder angezeigt werden. Breakpoints Das Setzen von Breakpoints sieht bei dem jdb folgendermassen aus: Entweder man setzt den Breakpoint beim Beginn einer Methode, oder einfach auf der gewünschten Zeile in einer Klasse. stop at MyClass:22 Setzt den Breakpoint bei der ersten Instruktion auf der Zeile 22. Die Klasse darf aber nicht mit java -O übersetzt werden, da sonst die Zeilennummern fehlen.

18 4.4. KOMMANDO ZEILEN OPTIONEN 13 stop in java.lang.string.length Setzt den Breakpoint beim Beginn dieser Methode clear< class : line > Entfernt Breakpoints, die in der angegebenen Zeile in der entsprechenden Klasse gesetzt waren. Der Aufruf ohne Parameter generiert eine Angabe aller gesetzten Breakpoints. cont Der aktuell unterbrochene Thread wird fortgesetzt. Wenn eine Methode überladen wurde, müssen zusätzlich noch die Argumente der entsprechenden Methoden angegeben werden, um einen Breakpoint zu setzten. Stepping Das step Kommando führt die nächste Linie aus, egal ob es sich um ein aktuellen Stack Frame oder einen Methodenaufruf handelt. Während das next Kommando dazu führt, dass die nächste Zeile im aktuellen Stack Frame abgearbeitet wird. Weiter führt step up dazu, dass die aktuelle Methode ausgeführt und dann zum Methodenaufruf zurück gekehrt wird. step in hingegen führt einfach nur die aktuelle Instruktion aus. Exceptions Falls in einem Java TM Programm eine Exception geworfen wird die nicht mit einem catch Statement abgefangen wird, wird normalerweise die Exception ausgegeben. Falls das Programm unter jdb läuft, wird diesem die Kontrolle übergeben und man hat die Möglichkeit die Exceptions abzufangen. So wird die Applikation, die man debuggt, falls eine spezifische Exception geworfen wird gestopt. Das Kommando catch java.io.filenotfountexception führt also dazu, dass jede Exception welche eine Instanz dieser Klasse oder einer Subklasse ist, die Applikation an dem Punkt an dem sie geworfen wird stopt. 4.4 Kommando Zeilen Optionen Falls man eine Java TM -Applikation mit dem jdb ausführt, hat man nebst vielen Optionen, die man auch beim normalen java Kommando hat, noch einige zusätzliche Optionen. Einige davon sind: -help Zeigt die Help an -sourcepath< dir1 : dir2 :.. > Falls die Sourcefiles nicht im aktuellen Verzeichnis sind, können mit dieser Option die Entsprechenden Verzeichnisse angegeben werden.

19 4.5. TESTVERSUCHE MIT JDB 14 -attach< address > Verbindet den Debugger mit einer bereits gestarteten Virtuellen Maschiene. -listen< address > Wartet auf eine Virtuelle Maschine, um via Default- Verbindung, zur spezifizierten Adresse eine Verbindung aufzunehmen. -listenany Wartet auf eine Virtuelle Maschine, um via Default-Verbindung, sich mit einer beliebigen Adresse zu verbinden. -launch Die zu debuggende Applikation wird sofort gestartet. Wodurch es nicht mehr nötig ist mit dem run Kommando zu starten. Die Applikation wird ausgeführt und dann gestoppt, bevor die Initialisierungsklasse geladen wird. An diesem Punkt hat man die Möglichkeit, Breakpoints zu setzten und dann mit dem cont Befehl das Ausführen fortzufahren. -connect< connector name >:< name1 >=< value1 >,.. Stellt eine Verbindung zur Ziel VM her. -dbgtrace Gibt Informationen über jdb aus. 4.5 Testversuche mit jdb Debugging eines Servlet Ein Servlet debuggt man am einfachsten in dem man die Servlet Engine im Debug Modus startet. Für den Tomcat 4.0 kann man zum Beispiel das Catalina File abändern und bei den Start Optionen noch zusätzlich folgende Optionen angeben: -Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconn,server=y,suspend=n Auf die Servlet Engine kann jetzt also via Shared-Memory, über die Adresse jdbconn, zugegriffen werden. Wir starten den Tomcat also folgendermassen mit Hilfe des abgeänderten catalina Files: C:\Program Files\Apache Tomcat 4.0\bin>catalina start Im Anhang A auf Seite 17 wird eine mögliche Servlet Debugg Session gezeigt. Remote Debugging Einer der grossen Vorteile der JDPA-Architektur ist die Möglichkeit eine Applikation, die auf einem remote Rechner läuft, via Sockets, zu debuggen. In diesem Beispiel möchte ich zeigen wie man die Server-Applikation der virtuellen Bank debuggen kann. Ich logge mich via Telnet ein und starte den Server folgendermassen!

20 4.5. TESTVERSUCHE MIT JDB 15 java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n server.server Listening for transport dt_socket at address: Nun kann ich den Debugger starten, um den Sever von meiner Maschine aus zu debuggen: jdb -connect com.sun.jdi.socketattach:port=32927,hostname=mr6550b.cs.fh-aargau.ch

21 Schlusswort Basierend auf der Java TM Plattform Debugger Architektur hat man enorme Möglichkeiten, um Debugger oder ähnliche Applikationen, die das ausführen eines Programmes überwachen oder beeinflussen sollen, zu bauen. Der Java TM Debugger jdb, der als Demonstration der Java TM Platform Debugger Architektur betrachten werden kann, ist ein Tool welches sich in vielerlei Hinsicht bei der Entwicklung als nützlich erweisen wird. An dieser Stelle möchte ich mich bei dem betreuenden Dozenten Herrn Prof. Dr. Dominik Gruntz, herzlich für seine Unterstützung bedanken. Felix Frei Windisch, 16. Mai 2002

22 Anhang A Beispiel debugging eines Servlet Eine Debug Session für ein Servlet sieht zum Beispiel folgendermassen aus: F:\jdb\Batch>jdb -attach jdbconn Initializing jdb... > threads Group system: (java.lang.ref.reference$referencehandler)0x3 Reference Handler cond. waiting (java.lang.ref.finalizer$finalizerthread)0x4 Finalizer cond. waiting (java.lang.thread)0x5 Signal Dispatcher running (java.lang.thread)0x6 CompileThread0 cond. waiting Group main: (java.lang.thread)0x1 main running (java.util.logging.logmanager$cleaner)0xb Thread-0 unknown (java.lang.thread)0xc WebappLoader[/library] cond. waiting (java.lang.thread)0xd StandardManager[/library] cond. waiting (java.lang.thread)0xe WebappLoader[/examples] cond. waiting (java.lang.thread)0xf StandardManager[/examples] cond. waiting (java.lang.thread)0x10 WebappLoader[/servletbank] cond. waiting (java.lang.thread)0x11 StandardManager[/servletbank] cond. waiting (java.lang.thread)0x12 StandardManager[/manager] cond. waiting (java.lang.thread)0x13 StandardManager[] cond. waiting (java.lang.thread)0x14 StandardManager[/soap] cond. waiting (java.lang.thread)0x15 StandardManager[/tomcat-docs] cond. waiting (java.lang.thread)0x16 StandardManager[/webdav] cond. waiting (java.lang.thread)0x17 HttpConnector[8080] running (java.lang.thread)0x18 HttpProcessor[8080][0] running (java.lang.thread)0x19 HttpProcessor[8080][1] cond. waiting (java.lang.thread)0x1a HttpProcessor[8080][2] cond. waiting (java.lang.thread)0x1b HttpProcessor[8080][3] cond. waiting (java.lang.thread)0x1c HttpProcessor[8080][4] running (java.lang.thread)0x1d Thread-1 running > thread 0x10 WebappLoader[/servletbank][1] stop at ServletBank:47 Set breakpoint ServletBank:47 WebappLoader[/servletbank][1] Breakpoint hit: "thread=httpprocessor[8080][4]", ServletBank.doGet(), line=47 bci=216 HttpProcessor[8080][4][1] print name name = "Meier" HttpProcessor[8080][4][1] set name="fischer" name="fischer" = "Fischer" HttpProcessor[8080][4][1] print amount

23 18 amount = "200" HttpProcessor[8080][4][1] list Source file not found: ServletBank.java HttpProcessor[8080][4][1] use C:\Program Files\Apache Tomcat 4.0\webapps\servletbank\WEB-INF\classes HttpProcessor[8080][4][1] list 43 name = request.getparameter("name").trim(); 44 amount = request.getparameter("amount").trim(); if (name!= null && amount!= null &&!name.equals("") &&!amount.equals("")) { 47 => try { 48 number = bank.createaccount(name); 49 my = bank.getaccount(number); 50 my.deposit(double.parsedouble(amount)); 51 out.println("<h3>" + "create Account successful!" +"</h3>"); 52 } catch (IOException e) { HttpProcessor[8080][4][1] dump my my = null HttpProcessor[8080][4][1] next > Step completed: "thread=httpprocessor[8080][4]", ServletBank.doGet(), line=48 bci= number = bank.createaccount(name); HttpProcessor[8080][4][1] next > Step completed: "thread=httpprocessor[8080][4]", ServletBank.doGet(), line=49 bci= my = bank.getaccount(number); HttpProcessor[8080][4][1] next > Step completed: "thread=httpprocessor[8080][4]", ServletBank.doGet(), line=50 bci= my.deposit(double.parsedouble(amount)); HttpProcessor[8080][4][1] dump my my = { number: "1" name: "Fischer" active: true balance: } HttpProcessor[8080][4][1] where [1] ServletBank.doGet (ServletBank.java:50) [2] ServletBank.doPost (ServletBank.java:197) [3] javax.servlet.http.httpservlet.service (HttpServlet.java:1 145) [4] javax.servlet.http.httpservlet.service (HttpServlet.java:1 264) [5] org.apache.catalina.core.applicationfilterchain.internaldofilter (ApplicationFilterChain.java: 247) [6] org.apache.catalina.core.applicationfilterchain.dofilter (ApplicationFilterChain.java:193) [7] org.apache.catalina.core.standardwrappervalve.invoke (StandardWrapperValve.java:243) [8] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:566) [9] org.apache.catalina.core.standardpipeline.invoke (StandardPipeline.java:472) [10] org.apache.catalina.core.containerbase.invoke (ContainerBase.java:943) [11] org.apache.catalina.core.standardcontextvalve.invoke (StandardContextValve.java:215) [12] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:566) [13] org.apache.catalina.valves.certificatesvalve.invoke (CertificatesValve.java:246) [14] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:564) [15] org.apache.catalina.core.standardpipeline.invoke (StandardPipeline.java:472) [16] org.apache.catalina.core.containerbase.invoke (ContainerBase.java:943) [17] org.apache.catalina.core.standardcontext.invoke (StandardContext.java:2 366) [18] org.apache.catalina.core.standardhostvalve.invoke (StandardHostValve.java:164) [19] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:566) [20] org.apache.catalina.valves.accesslogvalve.invoke (AccessLogValve.java:462) [21] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:564) [22] org.apache.catalina.core.standardpipeline.invoke (StandardPipeline.java:472) [23] org.apache.catalina.core.containerbase.invoke (ContainerBase.java:943) [24] org.apache.catalina.core.standardenginevalve.invoke (StandardEngineValve.java:163)

24 19 [25] org.apache.catalina.core.standardpipeline.invokenext (StandardPipeline.java:566) [26] org.apache.catalina.core.standardpipeline.invoke (StandardPipeline.java:472) [27] org.apache.catalina.core.containerbase.invoke (ContainerBase.java:943) [28] org.apache.catalina.connector.http.httpprocessor.process (HttpProcessor.java:1 005) [29] org.apache.catalina.connector.http.httpprocessor.run (HttpProcessor.java:1 098) [30] java.lang.thread.run (Thread.java:536) HttpProcessor[8080][4][1] cont >

25 Literaturverzeichnis [1] Sun Microsystems Java TM Platform Debugger Architecture Main Site Stand [2] Sun Microsystems Java TM Platform Debugger Architecture (JPDA) Stand [3] Sun Microsystems Java TM Virtual Machine Debug Interface (JVMDI) Stand [4] Sun Microsystems Java TM Debug Wire Protocol (JDWP) Stand [5] Sun Microsystems The Java TM Debug Interface (JDI) Stand [6] Sun Microsystems Connection and Invocation Details Stand [7] Sun Microsystems jdb - The Java TM Debugger Stand [8] NATHAN L. FIEDLER JSwat Project Home Page Stand

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

Mehr

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Mark Brörkens Universität Oldenburg, Fachbereich Informatik Email: Mark.Broerkens@informatik.uni-oldenburg.de Einleitung Programmieren mit Vertrag

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel Orville Bennett Übersetzung: Thomas Bögel 2 Inhaltsverzeichnis 1 Einführung 5 2 KNetAttach verwenden 6 2.1 Hinzufügen von Netzwerkordnern............................ 6 3 Rundgang durch KNetAttach 8 4 Danksagungen

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

KVIrc installieren (win) i. KVIrc installieren (win)

KVIrc installieren (win) i. KVIrc installieren (win) i KVIrc installieren (win) ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 1.0 May 08 T iii Contents 1 Einleitung 1 1.1 Über KVIrc...................................................... 1 1.2 Vorbereitungen....................................................

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA Unter Windows Vista ist die Installation der V-Modell XT Komponenten nicht ohne Weiteres möglich, da die User Account Control (UAC)-Engine dies unterbindet.

Mehr

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0. Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 VORBEDINGUNGEN Als Vorbedingungen sollte bereits

Mehr

NX Standardinstallation

NX Standardinstallation NX Standardinstallation Zur Installation von NX oder einen NX Lizenzserver benötigen Sie folgende Gegebenheiten: Unigraphics NX DVD (32bit oder 64bit je nach Prozessorarchitektur) NX Lizenzfile (License

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Eprog Starthilfe. 5. Oktober 2010. 1 Einleitung 2

Eprog Starthilfe. 5. Oktober 2010. 1 Einleitung 2 Eprog Starthilfe 5. Oktober 2010 Inhaltsverzeichnis 1 Einleitung 2 2 Windows 2 2.1 Cygwin Installation................................... 2 2.2 Programmieren mit Emacs............................... 8

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

SSH Authentifizierung über Public Key

SSH Authentifizierung über Public Key SSH Authentifizierung über Public Key Diese Dokumentation beschreibt die Vorgehensweise, wie man den Zugang zu einem SSH Server mit der Authentifizierung über öffentliche Schlüssel realisiert. Wer einen

Mehr

:: Anleitung Hosting Server 1cloud.ch ::

:: Anleitung Hosting Server 1cloud.ch :: :: one source ag :: Technopark Luzern :: D4 Platz 4 :: CH-6039 Root-Längenbold LU :: :: Fon +41 41 451 01 11 :: Fax +41 41 451 01 09 :: info@one-source.ch :: www.one-source.ch :: :: Anleitung Hosting Server

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

SFTP SCP - Synology Wiki

SFTP SCP - Synology Wiki 1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Im Folgenden wird die Installation von MySQL 5.0 und Tomcat 5.0 beschrieben. Bei MySQL Server 5.0 handelt es sich um ein

Mehr

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Clients in einer Windows Domäne für WSUS konfigurieren

Clients in einer Windows Domäne für WSUS konfigurieren Verwaltungsdirektion Abteilung Informatikdienste Clients in einer Windows Domäne für WSUS konfigurieren 08.04.2009 10:48 Informatikdienste Tel. +41 (0)31 631 38 41 Version 1.0 Gesellschaftsstrasse 6 Fax

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo virtuelle Maschinen mit VMware und Virtual PC Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo virtuelle DMZ mit IPCop und Webserver unter

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Online Newsletter III

Online Newsletter III Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase

Mehr

MSDE 2000 mit Service Pack 3a

MSDE 2000 mit Service Pack 3a MSDE 2000 mit Service Pack 3a Neues MSDE im WINLine-Setup: Seit der WINLine 8.2 Build 972 wird auf der WINLine-CD ein neues Setup der Microsoft MSDE mit ausgeliefert. Mit dieser neuen Version MSDE 2000

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Schritthan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung ewon - Technical Note Nr. 004 Version 1.2 Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Modemkonfiguration

Mehr

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr

Virtual Private Network

Virtual Private Network Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003 Page 1 of 11 Konfiguration NNTP unter Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 14.03.2005 Das Network News Transfer Protocol (NNTP) wird durch die Request for Comments

Mehr

Mail-Account Unimail mit der Adresse @uni-dortmund.de Einstellungen für Outlook Express 5.0

Mail-Account Unimail mit der Adresse @uni-dortmund.de Einstellungen für Outlook Express 5.0 universität Dortmund I&K-Einheit - Computerberatung für Studierende Mail-Account Unimail mit der Adresse @uni-dortmund.de Einstellungen für Outlook Express 5.0 Um Outlook Express ab Version 5 für den Mailempfang

Mehr

terra CLOUD IaaS Handbuch Stand: 02/2015

terra CLOUD IaaS Handbuch Stand: 02/2015 terra CLOUD IaaS Handbuch Stand: 02/2015 Inhaltsverzeichnis 1 Einleitung... 3 2 Voraussetzungen für den Zugriff... 3 3 VPN-Daten herunterladen... 4 4 Verbindung zur IaaS Firewall herstellen... 4 4.1 Ersteinrichtung

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Betriebshandbuch. MyInTouch Import Tool

Betriebshandbuch. MyInTouch Import Tool Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Advolux Konsolen- und Unattended-Installation

Advolux Konsolen- und Unattended-Installation Advolux Konsolen- und Unattended-Installation Verfasser : Advolux GmbH Letze Änderung : 27.11.2014 Version : v6 Inhaltverzeichnis Inhaltverzeichnis 2 Neuinstallation in der Konsole 4 Hinweis für die Installation

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Windows 7 Winbuilder USB Stick

Windows 7 Winbuilder USB Stick Windows 7 Winbuilder USB Stick Benötigt wird das Programm: Winbuilder: http://www.mediafire.com/?qqch6hrqpbem8ha Windows 7 DVD Der Download wird in Form einer gepackten Datei (7z) angeboten. Extrahieren

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Test mit lokaler XAMPP Oxid Installation

Test mit lokaler XAMPP Oxid Installation Test mit lokaler XAMPP Oxid Installation Hintergrundinformation Die hier gezeigte Lösung benutzt die OXID Version 4.7x. OXID lässt sich mit dieser Lösung lokal auf dem Windows Rechner installieren. Die

Mehr

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte: Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Intranet E-Mail Moodle

Intranet E-Mail Moodle Intranet E-Mail Moodle Manual für Lernende V1.0 1 / 8 Inhaltsverzeichnis Übersicht... 3 1. Intranet... 3 2. Anmeldenamen... 4 3. Passwort... 4 3.1 Erste Anmeldung... 4 3.2 Passwort ändern... 5 3.3 Passwort

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Virtual Channel installieren

Virtual Channel installieren Virtual Channel installieren Inhaltsverzeichnis 1. Voreinstellungen... 3 2. Virtual Channel herunterladen... 3 3. Virtual Channel konfigurieren... 4 4. Ausdruck... 6 5. Tipps und Tricks... 7 Sorba EDV

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten! Anmeldung über SSH Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten! Besitzer der Homepage Advanced und Homepage Professional haben die Möglichkeit, direkt

Mehr