====== Debuggen auf entfernten Systemen ====== Dieser Artikel beschreibt das Remote-Debugging der BiDiB-Wizard Software für ein abgesichertes System. Die Beispiele gelten für die Entwicklungsumgebung: Eclipse. ===== Einleitung ===== Der BiDiB-Wizard muss nicht zwangsläufig auf einem PC, Mac oder Linux-Rechner laufen. Es eignen sich durchaus auch kleinere Systeme, wie z.B. der Raspberry Pi. Allerdings reicht dort der Platz in der Regel nicht für entsprechend komfortable Entwicklungsumgebungen, wie z.B. Eclipse. Die Entwicklung kann dann auf einem Entwicklungssystem, z.B. PC, Mac oder Linux-Rechner gemacht und das Ergebnis auf das Zielystem transferiert werden. Mangels Entwicklungssystem auf dem Zielsystem greift man bei der Fehlersuche dann zum so genannten Remote-Debugging. Der BiDiB-Wizard läuft - mit kleinen Änderungen beim Start - auf dem Zielsystem, das Debugging selbst findet in der Entwicklungsumgebung mit all seinem Komfort statt. ==== Voraussetzungen ==== * Entwicklungsrechner: PC, Mac oder Linux (getestet mit Windows 10) * [[wizard:development|Entwicklungsumgebung]]: Eclipse (getestet mit Oxygen 2, ältere Versionen funktionieren ähnlich) * Zielsystem: Raspberry Pi3, Version B ==== Vorbereitung auf dem Zielsystem ==== * BiDiB-Wizard bauen, wie in [[wizard:development|Entwicklungsumgebung]] beschrieben * **Installationsdatei** (z.B. //bidibwizard-installer-1.9-SNAPSHOT.jar//) auf das Zielsystem übertragen (z.B. aus dem Projekt bidibwizard-installer/target * Installation ausführen und Zielpfad merken ===== Debug-Session ===== Bisher lässt sich der BiDiB-Wizard z.B. über ein Desktop-Icon starten und bedienen. Danach bitte wieder beenden. ==== Eclipse Debug-Konfiguration ==== === Einrichten einer gesicherten Verbindung === File > New > Other > Remote System Explorer: Connection{{:wizard:connection.jpg?400|EIn Weg zu einer neuen Connection}} Configure proxy settings > Remote Systems: Passwords{{:wizard:remotesystemexplorercredentials.jpg?400|Eingabemaske für Zielsystem und seine die "Credentials"}} * //Host name//: Name des entfernten Systems * //User ID//: Name des angemeldeten Benutzers auf dem entfernten System * //Password//: Kennwort * //Verify password//: Kennwortwiederholung === Einrichten einer Debug-Konfiguration === Run > Debug Configurations... > Remote Java Application: NEU {{:wizard:remotedebuglaunch.jpg?400|Debug Launch zum Starten des Wizards im entfernten System}} * //Name//: Beliebig * //Projekt//: Hauptprojekt des BiDiB-Wizards * //Host//: Name des Zielystems (siehe Connection oben) * //Port//: Das Port, mit dem die Anwendung im Zielsystem gestartet wird (siehe unten) ==== BiDiB-Wizard im Debug-Mode starten ==== Im Zielpfad Kommandozeile öffnen: ''java -Xdebug -Xrunjdwp:transport=dt_socket,address=12001,server=y,suspend=y -jar bidibwizard-1.9-SNAPSHOT.jar'' Der Wizard wartet jetzt (hier: auf Port 12001) mit suspend=y auf die Verbindung mit dem Debugging-System. In Eclipse jetzt die vorher konfigurierte Debug-Launch starten.