Comment déboguer à distance un programme javaFX exécuté par Raspeye de la construction de l'environnement Windows 10 à l'exécution du débogage (2) -

Tout d'abord, collez le référentiel GitHub https://github.com/kamoshika9999/HelloRemote.git

Présentation de javaFX à Raspeye

  1. Le JDK normalement inclus est java-11-openjdk-armf. Comme javaFX est exclu dans cette version, un JDK personnalisé est installé par la méthode suivante.
cd /home/pi
wget https://download.bell-sw.com/java/13/bellsoft-jdk13-linux-arm32-vfp-hflt.deb
sudo apt-get install ./bellsoft-jdk13-linux-arm32-vfp-hflt.deb
sudo update-alternatives --config javac
sudo update-alternatives --config java

Introduction de la samba

  1. Téléchargez et installez l'unité principale
sudo apt-get install samba
  1. Démarrez nano de l'éditeur de texte
sudo nano /etc/samba/smb.conf
  1. Ajouté à la dernière ligne
[raspberry_pi]
comment = Share
path = /home/pi/samba
public = yes
read only = no
browsable = yes
force user = pi
  1. Créez un dossier samba dans / home / pi
sudo mkdir /home/pi/samba
  1. Démarrage du service * Il sera lancé automatiquement la prochaine fois que vous démarrez Raspai
sudo systemctl restart smbd

Paramètres côté Windows 10

  1. Dans «Activer ou désactiver les fonctionnalités Windows», cochez «SMB 1.0 / CIFD client» et redémarrez. image.png
  2. Entrez \ 192.168.9.112 dans l'Explorateur et voyez si vous pouvez voir le dossier raspberry_pi

Préparez le fichier xml pour Ant build

  1. Cliquez avec le bouton droit sur HelloRemote dans l'explorateur de packages Eclipse. "Exporter" - [Java] - [Fichier JAR exécutable] - "Suivant" image.png

Lancer la configuration Main-HelloRemote Exporter le dossier de destination Raspeye samba + le nom de fichier "fxtest.jara" * Déterminez le nom de fichier de manière appropriée Cochez Enregistrer comme script Ant L'emplacement est le même que l'espace de travail du projet et le nom du fichier est build.xml. image.png 3. Lorsque vous appuyez sur Terminer, un avertissement apparaît, mais il est OK tel quel image.png 4. Cliquez avec le bouton droit sur une zone vide de l'Explorateur de packages pour actualiser image.png 5. Cliquez avec le bouton droit sur build.xml et ouvrez-le avec-ANT Editor image.png

  1. Modifiez build.xml comme suit La partie du chemin du fichier doit être réécrite
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="remotedebug" name="Create Runnable Jar for Project HelloRemote">
    <!--this file was created by Eclipse Runnable JAR Export Wizard-->
    <!--ANT 1.7 is required                                        -->
    <!--define folder properties-->
    <property name="dir.buildfile" value="."/>
    <property name="dir.workspace" value="${dir.buildfile}/.."/>
    <property name="dir.jarfile" value="//192.168.9.112/raspberry_pi"/>

	<property name="raspberrypi" value="192.168.9.112" />
	<property name="raspberryfolder" value="/home/pi/samba" />
	<property name="username" value="pi" />
	<property name="password" value="raspberry" />
	
	<target name="create_run_jar">
        <jar destfile="${dir.jarfile}/fxtest.jar" filesetmanifest="mergewithoutmain">
            <manifest>
                <attribute name="Main-Class" value="application.Main"/>
                <attribute name="Class-Path" value="."/>
            </manifest>
            <fileset dir="${dir.buildfile}/bin"/>
            <zipfileset excludes="META-INF/*.SF" src="C:/OPENCV3/pleiades-4.8/pleiades/eclipse/plugins/org.eclipse.fx.ide.css.jfx8_3.3.0.201805280700.jar"/>
        </jar>
    </target>
	
	<target name="remotedebug" depends="create_run_jar">
		<echo>"Starting ${raspberrypi}:${raspberryfolder}/${jar.filename} in debug mode"</echo>
		<sshexec trust="true" host="${raspberrypi}" username="${username}" password="${password}" failonerror="true" usepty="true" command="DISPLAY=:0 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=*:4001,suspend=y -classpath ${raspberryfolder} -jar ${raspberryfolder}/fxtest.jar" />
	</target>
</project>

6-1. Explication du contenu "Default =" remote debug "" spécifie la cible à exécuter en dernier

<project default="remotedebug" name="Create Runnable Jar for Project HelloRemote">

"Nom de la cible =" remotedebug "dépend =" create_run_jar "" dépend de la cible à exécuter avant cette cible En d'autres termes, le fichier jar exécutable est créé en premier et déployé sur Raspeye

<target name="remotedebug" depends="create_run_jar">

La partie qui exécute les commandes avec ssh en utilisant jsh 2 points DISPLAY =: 0 Rien n'est affiché sans cette spécification address = *: 4001 *: signifie l'accès depuis n'importe quel hôte. 4001 est un numéro de port et peut être modifié s'il y a de l'espace

<sshexec trust="true" host="${raspberrypi}" username="${username}" password="${password}" failonerror="true" usepty="true" command="DISPLAY=:0 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=*:4001,suspend=y -classpath ${raspberryfolder} -jar ${raspberryfolder}/fxtest.jar" />
</target>
  1. Définissez jsch sur le chemin de classe Télécharger. Au fur et à mesure que vous faites défiler, vous verrez les liens image.png image.png

Téléchargez 7-1.jsch-0.1.55.jar et enregistrez-le dans le dossier approprié

7-2. Cliquez avec le bouton droit sur HelloRemote et importez image.png 7-3. Général - Sélectionnez Système de fichiers et Suivant image.png Vérifiez 7-4.jsch-0.1.55.jar et terminez image.png 7-5. Assurez-vous d'avoir jsch-0.1.55.jar dans l'Explorateur de packages image.png 7-6. Cliquez avec le bouton droit sur build.xml et exécutez-configurez les outils externes image.png 7-7. Cliquez sur la nouvelle icône après avoir sélectionné la création de fourmi image.png 7-8. Sélectionnez l'entrée utilisateur dans l'onglet "Chemin de la classe" et cliquez sur le bouton Ajouter JAR. image.png 7-9 Développez l'arborescence, sélectionnez jsck-0.1.55.jar et cliquez sur le bouton OK. image.png 7-10. Ajouté au chemin de classe image.png 8. Exécutez Ant build Appuyez sur le bouton d'exécution. Si vous voyez ce qui suit sur la console, vous avez réussi image.png 8-1. Vous pouvez changer la source et exécuter à partir de l'icône à partir de la deuxième fois image.png

La construction ANT est très pratique car vous pouvez exécuter "Build-> Deploy to Raspeye-> Standby on remote JVM" d'un seul coup. L'introduction est longue, mais si vous ne le faites pas, vous perdrez beaucoup de temps Il y a un moyen de travailler avec Maven, mais ce sera une autre opportunité

Exécutez le débogage à distance

  1. Cliquez avec le bouton droit sur HelloRemote et sélectionnez "Déboguer" - "Configurer le débogage". image.png
  2. Après avoir sélectionné l'application Java distante, cliquez sur l'icône de nouvelle configuration image.png
  3. Adresse IP Raspeye sur l'hôte Numéro de port spécifié dans build.xml pour le port Cochez Autoriser l'arrêt de la VM distante Lancer le débogage image.png
  4. Vous pouvez le faire comme ça. Le terminal n'est pas affiché côté tarte à la râpe
  1. Test de point d'arrêt Assurez-vous que la définition d'un point d'arrêt dans la méthode onTestBT et le fait d'appuyer sur Button basculeront la perspective sur le débogage et la pause image.png

Prochain rendez-vous

Expliquer le contrôle GPIO de Raspeye Principalement comment utiliser PI4J

2020.0727 kamoshika Cela n'a rien à voir avec cet article, mais ... je vais mettre un lien vers la chaîne principale https://www.youtube.com/channel/UCbtzwsQhTuUzW3ERoBSYZDw/

Recommended Posts

Comment déboguer à distance un programme javaFX exécuté par Raspeye à partir de Windows 10 - De la construction de l'environnement à l'exécution du débogage ①-
Comment déboguer à distance un programme javaFX exécuté par Raspeye de la construction de l'environnement Windows 10 à l'exécution du débogage (2) -
Comment lier Rails6 Vue (à partir de la construction de l'environnement)
Comment exécuter javafx avec Raspeye publié le 12/07/2020
Comment graver un disque d'installation de Windows à partir d'Ubuntu
[Introduction à Java] Comment écrire un programme Java
Un programme qui calcule la puissance de 2 à 100
Créer un environnement d'exécution WAS à partir de Docker
[Java] Comment mesurer le temps d'exécution du programme
[Première construction d'environnement] J'ai essayé de créer un environnement Rails6 + MySQL8.0 + Docker sur Windows 10.