WEBDEV 2024 : Les concepts

Partie 6 : Tester un siteWeb 203 • exécuter pas à pas avec possibilité de sauter des blocs, • utiliser des points d’arrêt conditionnels, • modifier le code tout en continuant l’exécution, • ... 5.4 Déboguer sans le débogueur Dans certains cas, l’exécution d’un programme avec ou sans le débogueur peut être différente. En effet, le débogueur introduit des pauses dans l’exécution du traitement, durant lesquelles Win- dows effectue certaines tâches. Ainsi, le débogueur ne peut pas être utilisé dans une procédure appelée par timer ou dans le code de l’ascenseur. Remarque  : Pour connaître l’ensemble des limites du débogueur, consultez l’aide en ligne. Pour déboguer ces applications, il peut être néces- saire par exemple de suivre l’évolution d’une valeur, le passage dans différentes procédures, ... Ces informations peuvent être : • affichées à l’écran • stockées dans un fichier de trace. Attention  : Si les informations sont affichées à l’écran, elles doivent être affichées uniquement lors des tests de l’application. Afficher des informations Deux outils permettent d’afficher des informations : • les boîtes d’informations  : fonction Info du WLangage. Attention : L’affichage d’une boîte d’information est bloquant. • la fenêtre de trace  : fonction Trace du WLangage. La fenêtre de trace s’affiche en haut à gauche de l’écran, sans interrompre le déroulement du programme. Gérer l’affichage des informations de débogage L’affichage à l’écran des informations de débogage est utile uniquement en mode test. Avant de diffuser une application, il est donc néces- saire de supprimer tout affichage superflu. Pour éviter tout oubli, il est conseillé de gérer l’affi- chage des informations de débogage à l’aide d’une procédure globale. Par exemple : PROCEDURE MaTrace(ChaîneATracer) SI EnModeTest() ALORS Trace(ChaîneATracer) FIN Dans ce code, selon le résultat de la fonction EnMo- deTest , la fenêtre de trace apparaît uniquement lors d’un test de l’application. Une telle procédure permet de laisser l’appel aux fenêtres de trace dans le code de l’application, sans risque d’apparition en clientèle. L’appel à cette procédure de trace est identique à l’utilisation de la fonction Trace  : MaTrace("Client : " + ... Client.NumClient) Créer un fichier de trace Lors de traitements longs (traitements Batchs, ...), pour contrôler le bon déroulement du programme, il est nécessaire de conserver une trace physique des traitements effectués (un fichier texte par exemple). La procédure suivante permet de gérer par exemple l’affichage de la trace : • soit à l’écran (paramètre /DEBUG en ligne de commande). • soit dans un fichier texte (mode par défaut). PROCÉDURE MaTrace(ChaîneATracer) CheminFichier est un entier CheminFichier = fRepDonnéesUtili sateur() + ... ProjetInfo(piNomProjet) + ".txt" NumFichier est un entier ModeDebug est un booléen = Faux SI Position(LigneCommande(), "/DEBUG") > 0 ALORS ModeDebug = Vrai FIN SI ModeDebug ALORS Trace(ChaîneATracer) SINON NumFichier = fOuvre(CheminFichier, foCréationSiInexistant + ... foEcriture + foAjout) SI NumFichier <> -1 ALORS DateHeureTrace est un DateHeure DateHeureTrace = DateHeure Sys() DateTrace est une Date DateTrace = DateHeureTrace.

RkJQdWJsaXNoZXIy NDQ0OA==