Débogage à distance des applications Java dans Azure Web Apps

tl;dr

https://github.com/Azure/azure-websites-java-remote-debugging

Faites le travail ici.

procédure

Activer WebSocket dans les paramètres WebApps

Ouvrez les paramètres de l'application WebApp à partir du portail Azure et laissez "Web Sockets" activé.

2018-04-05-21-05-49.png

Ce paramètre est obligatoire car il communique avec la télécommande via WebSocket lors du débogage.

Créez site \ wwwroot \ web.config sur l'App Service.

Il est facile d'accéder et de créer du kudu, qui meurt derrière la WebApp.

kudu est à peu près le logiciel qui prend en charge AppService en arrière-plan, prenant en charge le contrôle du déploiement, l'opération WebJobs, etc., et l'utilisant à partir d'un navigateur pratique pour le développement. Nous fournissons également une console qui vous permet de le faire.

--Ouvrez votre navigateur et accédez à https: // YOURAPP.scm.azurewebsites.net / DebugConsole

web.config


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="httppPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
        </handlers>
        
        <httpPlatform processPath="%programfiles(x86)%\apache-tomcat-8.0.46\bin\startup.bat">
            <environmentVariables>
                <environmentVariable name="CATALINA_HOME" value="%programfiles(x86)%\apache-tomcat-8.0.46"/>
                <environmentVariable name="JAVA_OPTS" value="-Djava.net.preferIPv4Stack=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=127.0.0.1:%HTTP_PLATFORM_DEBUG_PORT%"/>
                <environmentVariable name="CATALINA_OPTS" value="-Dport.http=%HTTP_PLATFORM_PORT%"/>
            </environmentVariables>
        </httpPlatform>
    </system.webServer>
</configuration>

Redémarrez l'application

Redémarrez depuis le portail.

Après le redémarrage, accédez une fois et continuez à exécuter le processus Java. Peut être confirmé avec Process Explorer sur kudu

C'est la fin du travail côté WebApp.

Lancez le client DebugSession

À partir de là, travaillez sur la machine locale.

Téléchargez le client DebugSession à partir de https://github.com/Azure/azure-websites-java-remote-debugging/releases.

Commencez par donner l'argument suivant à DebugSessin.bat dans bin. Définissez la variable d'environnement JAVA_HOME.

DebugSession.bat ^
  --auto ^
  -p 8000 ^
  -s YOURAPP.scm.azurewebsites.net ^
  -u $YOURAPP ^
  -w ****

Info: En attente de la connexion du débogueur sur 8000 ...

Si cela dit ..., vous êtes prêt à partir.

Pour les informations de connexion (Publish URL / User / Pass), si vous utilisez Azure CLI, vous pouvez utiliser la valeur de MS Deploy obtenue autour de ʻaz webapp deployment list-publishing-profiles ...`.

Lancer le débogueur

Après cela, le débogage à distance peut être effectué en se connectant au client de session de débogage (localhost: 8080) à partir d'un débogueur sur Eclipse.

Cependant, comme il est distant, le fonctionnement est lent. (Peut-être parce que c'était un plan gratuit.)

Recommended Posts

Débogage à distance des applications Java dans Azure Web Apps
Création d'applications Web Java sur Azure Web Apps
Rôle de JSP dans les applications Web [Java]
Essayez le débogage à distance Java avec des conteneurs distants dans Visual Studio Code Insiders
Fonctions Azure en Java
Sécurité dans les applications Web
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
Créer des fonctions Azure en Java
Implémentation Java de tri-tree
Exécuter des applications Java dans Azure Batch
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Tomcat App Edition]
Liste des membres ajoutés dans Java 9
Liste des types ajoutés dans Java 9
Implémentation d'une fonction similaire en Java
Débogage à distance du SDK Cognos
Implémentation de DBlayer en Java (RDB, MySQL)
Déploiement de guerre sur Azure Web Apps (maven)
Création d'applications Web Java sur Windows Server 2016
L'histoire de l'écriture de Java dans Emacs
Discrimination d'énum dans Java 7 et supérieur
L'histoire de la comparaison de chaînes de bas niveau en Java
L'histoire de la fabrication d'un Othello ordinaire à Java
À propos de l'idée des classes anonymes en Java
Déployez des applications Web Java sur Azure avec maven
Comment afficher une page Web en Java
Implémentation du regroupement de chiffres dans l'application Furima
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
[Java] Utilisation de final dans la déclaration de variable locale
Ressentez le passage du temps même à Java
Créons un framework Web ultra-simple avec Java
Un examen rapide de Java appris en classe
Nom de méthode de la chaîne de méthodes dans Java Builder + α
Importer des fichiers de la même hiérarchie en Java