Débuguer une application WEB avec VB.Net

Problème à signaler:


Télécharger Débuguer une application WEB avec VB.Net



★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Débuguer une application WEB avec VB.Net

...

L'utilisation de la classe de débugage du Framework (bien que puissante) ne permet pas de retrouver le débugueur connu sous Visual Studio 6.

: 8pt;">En effet, les développeurs VB ont pris l'habitude de pouvoir lancer l'application en cours de développement en mode Débug afin de voir l'évolution (pas à pas) de l'ensemble des variables et donc de rechercher les problèmes éventuels existants dans l'application.

Ainsi lors du passage de ces développeurs sur l'environnement Visual Studio .NET, il est normal de chercher à retrouver ses marques et donc son bon 'vieux' débugueur.

Mais peu de personnes savent qu'on peut aussi utiliser celui-ci dans les développements d'applications WEB (ASP.NET) et donc avoir un meilleur contrôle de son code et de l'évolution des variables de son projet.

Avec cet article, ]e vais donc présenter simplement l'utilisation basique de cet outil.

Le Paramétrage des Points d'arrêt

En effet, le débugueur permet à l'application de s'arrêter en cours d'exécution suivant des points d'arrêt qu'on a fixé au préalable. Ainsi, si on veut suivre une fonction dans une classe donnée de son projet, on va placer des points d'arrêt dans cette fonction.

Pour se faire, il suffit de Cliquer dans la marge gauche de l'éditeur de code et un Point Rouge apparaît. Ce point symbolise simplement ce point d'arrêt.

Attention :

Ces points ne peuvent pas être placés n'importe où et sont, de préférence, à mettre en début (ou fin) de boucle, en entrée de fonction (ou procédure). On peu aussi les fixer lors d'une déclaration de variable (dim...) si celle-ci est suivi d'une affectation de valeur, comme par exemple :

Dim Mavariable as String = "Ma Valeur"

Une fois les points d'arrêt posés, on obtient une représentation comme l'image ci-dessous.

Maintenant que tous nos points d'arrêt sont fixés, nous allons voir comment exécuter la page en mode débug et ce qu'il se passe à ce moment la.

Le lancement du Mode Débug

Il faut se placer avant tout en 'mode' débug, pour cela on a une option dans le haut de la barre de Visual Studio dans lequel on peut choisir "Release" ou "Debug", comme on le voit dans l'image suivante :

Ce mode est particulier dans le sens où il crée, lors de la compilation, un fichier (dans le sous-répertoire /bin/ de l'application) avec l'extension 'pdb'. Ce fichier comporte l'ensemble des symboles de débugage nécessaire à l'utilisation de ce mode.

Maintenant que notre application est compilé en mode débug et que notre fichier xxx.pdb est généré, il reste à lancer l'application dans ce mode, pour ceci, on va associer le débugueur avec le process qui nous intéresse :

  • aspnet_wp.exe

Cela se fait de la façon suivante :

Et ensuite on attache le Processus ASPNET :

On laisse les options par défaut de cette fenêtre qui spécifie quelle application dépendant d'aspnet va être contrôlée :

On a alors la fenêtre d'attachement qui revient de façon à nous spécifier quel process est en cours de débugage :

On voit donc au bas de cette fenêtre le process aspnet_wp.exe qui figure. Il faut préciser que le débugueur est capable de contrôler tout type de développement possible avec Visual Studio .NET, donc toutes les DLL créées, mais aussi les applications C++ Managées, les application COBOL.NET, C#, ...

On va donc voir comment suivre l'évolution de nos variables dans ce mode.

Exécution de l'application WEB en Mode Débug

Maintenant que notre débugueur est près à suivre notre application, il ne nous reste plus qu'à exécuter celle-ci.

On lance donc simplement notre navigateur favoris directement sur l'application à analyser. On voit alors que notre Visual Studio .NET est découpé en 2 sur le bas. On a une partie de l'écran (à gauche) qui est l'affichage de l'espion et l'autre (à droite) qui est l'affichage du suivi du chargement des symboles de débugage (fichier xxx.pdb).

A cet instant, on peut aller sur la page qui est sensé passer par les points d'arrêt qu'on a au préalable fixé (dans une fonction, ou à une définition de variable d'une classe, ...), de façon à utiliser les espion.

Le rôle des points d'arrêt est comme son nom l'indique de stop l'exécution exactement au point qu'on à choisis. Ainsi on pourra connaître les valeurs des variable à cet instant précis.

Pour connaître ces valeurs, il existe deux méthodes :

  • Le survol avec la souris
  • la déclaration de la variable à suivre dans la fenêtre espion

Pour la Seconde possibilité, il suffit de regarder dans la partie espion de Visual Studio .NET et d'ajouter le nom de la variable dans la colone Nom et "Entrée". On aura alors au fil de l'avancée dans l'application la valeur de cette variable, comme on le voit ci-dessous :

Pour le survol à la souris, il suffit simplement de passer sa souris au dessus du code où est écrit le nom de la variable voulue et on voit apparaître sa valeur.

Afin de pouvoir passer d'un point d'arrêt à l'autre (avancer dans l'exécution de sa page), il suffit de cliquer sur l'icone dans les menu de Visual Studio .NET :

Activer la Modification du code VB.NET en Mode Débug

Dans sa configuration par défaut, Visual Studio .NET permet de modifier dynamiquement le code source des pages écrites en C#, mais pas celles écrites en VB.NET. Ainsi on est obligé de couper le débugueur pour chaque modification à faire dans le code (même s'il est plus que minimal).

Afin de pouvoir faire pareil qu'en C# lors de codage en VB.NET, il suffit d'activer une option de Visual Studio .NET. Nous allons vous expliquer comment faire.

Ensuite dans la fenêtre des Options, il faut choisir la partie concernant le débugage et cocher la ligne :

  • M'autoriser à modifier des fichier VB durant le débugage

… …

Définition d’un point d'arrêt conditionnel

Votre programme affiche la chaîne entrée par l’utilisateur. Que se passe-t-il si l’utilisateur n’entre rien ? Vous pouvez le tester avec une fonctionnalité de débogage pratique, le point d’arrêt conditionnel, qui arrête l’exécution du programme quand une ou plusieurs conditions sont remplies.

Pour définir un point d’arrêt conditionnel et voir ce qu’il se passe lorsque l’utilisateur n’entre pas de chaîne, procédez comme suit :

C#

Cliquez avec le bouton droit sur le point rouge qui représente le point d’arrêt. Dans le menu contextuel, sélectionnez Conditions pour ouvrir la boîte de dialogue Paramètres de point d’arrêt. Cochez la case Conditions.

Panneau Paramètres de point d’arrêt

Pour l’expression conditionnelle, remplacez « e.g. x == 5 » par ceci :

C#

String.IsNullOrEmpty(name)

Vous testez une condition de code, à savoir que l’appel de méthode String.IsNullOrEmpty(name) est true car name ne s’est pas vu affecter de valeur ou que sa valeur est une chaîne vide (""). Vous pouvez également spécifier un nombre d’accès, qui interrompt l’exécution avant qu’une instruction soit exécutée un nombre spécifié de fois, ou une condition de filtre, qui interrompt l’exécution du programme en fonction d’attributs, comme un identificateur de thread, un nom de processus ou un nom de thread.

Sélectionnez le bouton Fermer pour fermer la boîte de dialogue.

Exécutez le programme en mode débogage.

Dans la fenêtre de console, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.

Comme la condition que nous avons spécifiée (name ayant la valeur null ou String.Empty) a été satisfaite, l’exécution du programme s’arrête quand elle atteint le point d’arrêt et avant que la méthode Console.WriteLine s’exécute.

Sélectionnez la fenêtre Variables locales, qui montre les valeurs des variables locales pour la méthode en cours d’exécution, qui est la méthode Main dans votre programme. Notez que la valeur de la variable name est "" ou String.Empty.

Vérifiez que la valeur est une chaîne vide en entrant l’instruction suivante dans la fenêtre Exécution. Le résultat est true.

C#

? name == String.Empty

Fenêtre Exécution retournant une valeur true après exécution de l’instruction

Sélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.

Appuyez sur une touche pour fermer la fenêtre de console et quitter le mode débogage.

Supprimez le point d’arrêt en cliquant sur le point dans la marge gauche de la fenêtre de code, ou en choisissant l’élément de menu Débogage > Basculer le point d’arrêt avec la ligne sélectionnée.

Exécution pas à pas d’un programme

Visual Studio vous permet également de parcourir un programme ligne par ligne et de surveiller son exécution. En règle générale, vous définissez un point d’arrêt et utilisez cette fonctionnalité pour suivre le déroulement du programme sur une petite portion de son code. Comme votre programme est petit, nous pouvons exécuter pas à pas la totalité du programme en procédant comme suit :

Dans la barre de menus, choisissez Débogage > Pas à pas détaillé ou appuyez sur la touche F11. Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante de l’exécution.

Fenêtre Visual Studio

À ce stade, la fenêtre Automatique montre que notre programme n’a défini qu’une seule variable, args. Comme vous n’avez passé aucun argument de ligne de commande au programme, sa valeur est un tableau de chaînes vides. En outre, Visual Studio a ouvert une fenêtre de console vide.

Sélectionnez Débogage > Pas à pas détaillé ou appuyez sur la touche F11. Visual Studio place maintenant en surbrillance la ligne suivante à exécuter. Comme le montre l’illustration, il lui a fallu moins d’une milliseconde pour exécuter le code entre la dernière instruction et celle-ci. args reste la seule variable déclarée et la fenêtre de console reste vide.

Génération d’une version Release

Une fois que vous avez testé la version Debug de votre application, vous devez également compiler et tester la version Release. La version Release intègre des optimisations du compilateur qui peuvent parfois affecter négativement le comportement d’une application. Par exemple, les optimisations du compilateur qui sont conçues pour améliorer les performances peuvent créer des conditions de concurrence critique dans les applications asynchrones ou multithreads.

Pour générer et tester la version Release de votre application console, changez la configuration de build dans la barre d’outils de Debug en Release.


465