Le débogage d’une extension (SOE ou SOI) présente certaines difficultés du fait qu’il implique d’interférer avec un processus de service en cours d’exécution. ArcGIS Server Manager fournit plusieurs paramètres permettant de déboguer les extensions Java. Vous trouverez ci-dessous une description détaillée de ces paramètres.
La documentation ArcGIS Enterprise SDK fournit une aide détaillée pour le débogage des extensions Java et .NET.
Workflow de débogage
Pour déboguer une extension, procédez comme suit :
- Utilisez ArcGIS Server Manager pour déployer votre extension.
- Utilisez Server Manager pour activer le débogage de votre extension et configurer les paramètres de débogage. Vous trouverez ci-dessous une description détaillée de ces étapes.
- Définissez des seuils aux emplacements de votre choix dans le code de l'extension.
- Arrêtez, puis démarrez le service.
- Joignez immédiatement votre débogueur au processus du système d'exploitation exécutant le service. Si le seuil se trouve dans le code d'initialisation de l'extension, le seuil est atteint au démarrage du service. Dans le cas contraire, il est atteint lorsque vous utilisez l'extension.
- Utilisez Server Manager pour désactiver le débogage.
Configuration des paramètres de débogage dans Server Manager
Afin de faciliter le débogage, ArcGIS Server Manager vous permet de modifier le comportement de l’extension. Vous pouvez suspendre le démarrage du service de manière à joindre le débogueur au processus de service avant l'appel des méthodes d'initialisation de l'extension. Vous pouvez également indiquer une plage de ports qui sera utilisée lors du débogage du service.
Pour accéder à ces paramètres de débogage dans Server Manager, procédez comme suit :
- Connectez-vous à ArcGIS Server Manager et cliquez sur Site.
- Cliquez sur Serveur SIG > Extensions.
- Cliquez sur Paramètres de débogage et sélectionnez Activer le débogage des extensions. Cette commande active les autres options de la boîte de dialogue.
- Si vous le souhaitez, vous pouvez également cocher la case Suspend service startup (Interrompre le démarrage du service) et saisir le nombre de secondes de retard du service.
Une partie du code de l'extension s'exécute une seule fois, au démarrage du service. Ce code est généralement placé dans la méthode Construct de l'interface IObjectConstruct. La suspension du démarrage du service vous permet de joindre votre débogueur au processus de service avant l'exécution de la méthode Construct, ce qui vous permet d'atteindre les éventuels seuils que vous avez définis dans le code de cette méthode.
- Vous pouvez éventuellement indiquer une plage de ports à utiliser lors du débogage.
- Cliquez sur Save (Enregistrer).
Vous pouvez désormais déboguer l'extension en arrêtant et en démarrant le service et en joignant votre débogueur au processus du système d'exploitation exécutant le service. Si vous définissez une fenêtre horaire pour la suspension du démarrage du service, vous devez joindre votre débogueur au processus de service avant d'atteindre cette fenêtre. Dans le cas contraire, vous n'atteindrez pas les éventuels seuils dans la méthode Construct de l'extension.
Vous pouvez arrêter et démarrer le service autant de fois que nécessaire pendant le débogage.
Attention :
Lorsque vous avez terminé de déboguer votre extension, retournez aux paramètres de débogage et désactivez la case à cocher Activez le débogage d'extensions. Si vous ne le faites pas et si vos paramètres sont configurés de sorte à suspendre le démarrage du service, un délai survient à chaque tentative de démarrage du service.
Vous avez un commentaire à formuler concernant cette rubrique ?