Débogage d'une extension d'objet serveur
Le débogage d'une extension d'objet serveur (SOE) peut entraîner certains problèmes, car vous devez interférer avec un processus de service en cours d'exécution. Le gestionnaire ArcGIS Server propose plusieurs paramètres permettant de déboguer les SOE Java. Vous trouverez ci-dessous une description détaillée de ces paramètres. Vous pouvez déboguer des SOE .NET avec le débogueur Visual Studio en suivant le workflow décrit dans l'aide du SDK ArcObjects .NET.
Workflow de débogage d'une SOE JAVA
Pour déboguer une SOE, procédez de la manière suivante :
- Faites appel au Gestionnaire ArcGIS Server pour déployer la SOE.
- Utilisez le Gestionnaire pour déboguer la SOE 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 la SOE.
- 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 la SOE, le seuil est atteint au démarrage du service. Dans le cas contraire, il est atteint lorsque vous utilisez la SOE.
- Utilisez le Gestionnaire pour désactiver le débogage.
Configuration des paramètres de débogage de la SOE Java dans le gestionnaire
Afin de faciliter le débogage, le Gestionnaire ArcGIS Server permet de modifier le comportement de la SOE. 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 la SOE. 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 :
- Connectez-vous au Gestionnaire ArcGIS Server et cliquez sur Site.
- Cliquez sur Serveur SIG, puis, dans le menu contextuel, sélectionnez Extensions.
- Cliquez sur Paramètres de débogage.
- Activez la case à cocher Activer le débogage des extensions.
Cette commande active les autres options de la boîte de dialogue.
- Vous pouvez également activer la case à cocher Interrompre le démarrage du service et saisir le nombre de secondes de retard du service.
Une partie du code de la SOE 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 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 la SOE.
Vous pouvez arrêter et démarrer le service autant de fois que cela est nécessaire pendant le débogage.
Lorsque vous avez terminé de déboguer votre extension, retournez aux paramètres de débogage et désactivez la case à cocher Activer le débogage des 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.