Skip To Content

Déboguer une extension

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 propose plusieurs paramètres permettant de déboguer les extensions Java. Vous trouverez ci-dessous une description détaillée de ces paramètres. La procédure de débogage des extensions est identique quel que soit le SDK que vous utilisez pour développer une SOE ou un SOI.

Workflow de débogage

Pour déboguer une extension, procédez comme suit :

  1. Faites appel à ArcGIS Server Manager pour déployer votre extension.
  2. Utilisez le gestionnaire pour déboguer l'extension et configurer les paramètres de débogage. Vous trouverez ci-dessous une description détaillée de ces étapes.
  3. Définissez des seuils aux emplacements de votre choix dans le code de l'extension.
  4. Arrêtez, puis démarrez le service.
  5. 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.
  6. Utilisez le Gestionnaire pour désactiver le débogage.

Configuration des paramètres de débogage dans le gestionnaire

Afin de faciliter le débogage, ArcGIS Server Manager 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 le Gestionnaire, procédez comme suit :

  1. Connectez-vous au Gestionnaire ArcGIS Server et cliquez sur Site.
  2. Cliquez sur Serveur SIG > Extensions.
  3. 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.
  4. 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.

  5. Vous pouvez éventuellement indiquer une plage de ports à utiliser lors du débogage.
  6. 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.