DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de projet / Audits de projet
  • Présentation
  • Effectuer un audit dynamique depuis l'environnement de développement
  • Lancer un audit dynamique lors du test du projet
  • Lancer un audit dynamique lors des tests automatiques
  • Effectuer un audit dynamique dans l'application en exploitation
  • Présentation
  • Lancer un audit dynamique par programmation
  • Lancer un audit dynamique en utilisant le fichier ".WX"
  • Lancer un audit dynamique dans une application en cours d'exécution
  • Analyser un audit dynamique
  • Ouvrir le compte-rendu de l'audit dynamique
  • Fenêtre d'analyse d'un audit dynamique
  • Types d'événements collectés par l'audit dynamique
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
L'audit dynamique d'une application permet d'analyser ses performances lors de l'exécution. Un audit dynamique peut être effectué dans un environnement de test ou sur une application en production. L'audit permettra de déceler des problèmes tels que :
  • Consommation excessive de mémoire.
  • Lenteurs des algorithmes utilisés.
  • Erreurs "masquées" lors de l'exécution.
  • ...
Un audit dynamique peut être effectué :
Le compte-rendu de l'audit dynamique peut ensuite être visualisé et analysé sous l'éditeur de projet.
Effectuer un audit dynamique depuis l'environnement de développement
L'audit dynamique peut être lancé :

Lancer un audit dynamique lors du test du projet

1. Audit dynamique automatique
Lors de chaque GO (de fenêtre ou de projet), par défaut, un audit dynamique s'effectue en arrière-plan, sans ralentir l'exécution. A la fermeture du test, le nombre de problèmes rencontrés est affiché dans le widget "Audit dynamique" du Tableau de bord du projet.
Widget audit dynamique
Pour voir le compte-rendu détaillé, il suffit de cliquer dans le widget.
Pour désactiver cet audit dynamique automatique :
  1. Cliquez sur la flèche du widget.
  2. Décochez l'option "Audit dynamique activé".
Dans ce cas, aucun audit ne sera effectué lors du test par un simple GO : il sera nécessaire de lancer explicitement l'audit dynamique lors du test du projet.
2. Audit dynamique lancé explicitement
Pour lancer un audit dynamique explicitement lors du test du projet :
  1. Ouvrez le projet à analyser.
  2. Utilisez une des méthodes suivantes :
    • Sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode test" et sélectionnez "Déboguer le projet avec l'audit activé".
      AndroidiPhone/iPad Non disponible.
    • Dans le tableau de bord du projet, cliquez sur la flèche du Widget "Audit dynamique" et sélectionnez l'option "Go minutieux du projet".
    • Dans les icônes d'accès rapide, déroulez l'icône "GO" et sélectionnez l'option "Déboguer le projet avec l'audit activé".
      AndroidiPhone/iPad Non disponible.
  3. Le projet se lance.
  4. Manipulez le projet pour utiliser les fonctionnalités que vous souhaitez auditer.
  5. Fermez l'application.
  6. L'éditeur ouvre alors la fenêtre de compte-rendu de l'audit dynamique.

Lancer un audit dynamique lors des tests automatiques

Pour lancer un audit dynamique lors des tests automatiques :
  1. Ouvrez le projet à analyser.
  2. Sous le volet "Tests automatiques", dans le groupe "Tests", déroulez "Exécuter l'ensemble" et sélectionnez "Activer l'audit dynamique pendant les tests automatiques".
Lorsque un test automatique sera lancé, l'audit dynamique sera également effectué. A la fin du test, la fenêtre de compte-rendu de l'audit dynamique est affichée. Le compte-rendu de l'audit dynamique est également affiché dans le volet "Trace du débogueur".
Effectuer un audit dynamique dans l'application en exploitation

Présentation

L'audit dynamique peut être lancé :
  • soit par programmation.
  • WINDEV soit grâce au fichier WX.
  • WINDEV soit directement par une combinaison de touches.

Lancer un audit dynamique par programmation

Pour lancer un audit dynamique par programmation, il suffit d'utiliser la fonction dbgActiveAudit.
L'audit génère un fichier ".waudit". Ce fichier doit être chargé dans l'environnement de développement pour analyser le résultat.
Remarque : Pour analyser le résultat de l'audit d'une application, le projet correspondant à cette application doit être ouvert dans WINDEV, WINDEV Mobile ou WEBDEV.
AndroidWidget Android Cette fonctionnalité n'est pas disponible.
WINDEV

Lancer un audit dynamique en utilisant le fichier ".WX"

Il est également possible d'auditer une application dans son environnement de production sans modifier l'exécutable : il suffit de créer dans le même répertoire que l'exécutable un fichier portant le même nom que l'exécutable et d'extension ".WX".
Ce fichier aura la forme suivante :
[AUDIT]
ACTIF = 1 (ou 0 pour désactiver l'audit)
FICHIER = <chemin du fichier .waudit à générer>
OPTION = <combinaison des options de la fonction dbgActiveAudit>
Dans ce fichier, la clé OPTION peut prendre les valeurs suivantes :
  • "CA" : Les commentaires d'audit sont inscrits dans l'audit dynamique.
  • "WA" : Les warnings d'exécution concernant les anomalies détectées sont inscrits dans l'audit dynamique.
  • "WP" : Les warnings d'exécution concernant les performances sont inscrits dans l'audit dynamique.
  • "EA" : Les assertions sont inscrites dans l'audit dynamique.
  • "ER" : Les erreurs non fatales non traitées sont inscrites dans l'audit dynamique.
  • "EX" : Les erreurs fatales, traitées par QUAND EXCEPTION ou non traitées, sont inscrites dans l'audit dynamique.
Ces options doivent être précédées du signe "+" pour indiquer qu'elles doivent être prises en compte. Exemple : OPTION=+CA+WA+WP
L'audit génère un fichier ".waudit", ce fichier doit être chargé dans l'environnement de développement pour analyser le résultat.
Remarque : Pour analyser le résultat de l'audit d'une application, le projet correspondant à cette application doit être ouvert dans WINDEV ou WEBDEV.
WINDEV

Lancer un audit dynamique dans une application en cours d'exécution

La combinaison de touches Ctrl + Alt + A permet de déclencher le début de l'enregistrement d'un audit d'exécution. Ce raccourci agit de la même façon que l'appel de la fonction dbgActiveAudit.
Analyser un audit dynamique

Ouvrir le compte-rendu de l'audit dynamique

Le compte-rendu de l'audit dynamique est un fichier d'extension ".waudit".
Pour ouvrir ce fichier, vous pouvez :
  • Ouvrir directement le fichier sous l'éditeur : sous le volet "Accueil", dans le groupe "Général", cliquez sur "Ouvrir" et sélectionnez le fichier d'audit.
  • Utiliser le widget "Audit dynamique" du tableau de bord du projet : cliquez sur la flèche du widget et sélectionnez l'option "Ouvrir un audit". Sélectionnez ensuite le fichier d'audit.

Fenêtre d'analyse d'un audit dynamique

Lors du chargement d'un audit dynamique, la fenêtre suivante est affichée :
Résultat d'un audit dynamique
  • 1 : Nom du fichier d'audit en cours d'analyse.
  • 2 : Période de temps sur laquelle l'audit a été effectué.
  • 3 : Sélection de la période de temps à visualiser. Le range slider peut être utilisé pour ne parcourir qu'une partie de l'audit lorsque celui-ci s'étend sur une longue période. Le range slider couvre la durée totale de l'audit. La portion active du champ (modifiable avec les boutons flèches) est reproduite en dessous. Cette zone est cliquable et sélectionne automatiquement l'événement le plus proche de l'instant cliqué (dans la liste des événements).
  • 4 : Mode d'affichage des événements de l'audit. Il est possible d'afficher les événements de l'audit de façon chronologique dans la liste des événements ou de les regrouper par famille d'événements.
  • 5 : Boutons de filtrage permettant de choisir quels types d'événements seront affichés.
  • 6 : Liste des événements affichant tous les éléments collectés par l'audit. Sur chaque ligne de la table :
    • un bouton "..." permet d'accéder au détail de l'événement enregistré.
    • si l'événement est relié à une ligne de code particulière, le bouton "Code" permet d'ouvrir directement l'éditeur de code à l'emplacement correspondant.
    • le bouton "-" permet de désactiver l'erreur. ATTENTION : Si l'erreur est désactivée, elle ne sera plus affichée. Il ne sera pas possible de la réactiver.

Types d'événements collectés par l'audit dynamique

Les différents types d'événements collectés par l'audit dynamique sont :
  • Les exceptions : une exception est une erreur fatale de l'application (à moins qu'elle ne soit interceptée dans un bloc QUAND EXCEPTION). Une exception peut être générée volontairement à l'aide de la fonction ExceptionDéclenche.
    Toutes les exceptions sont rapportées par l'audit dynamique (exceptions traitées par programmation ou exceptions ayant conduit à l'arrêt de l'application). Généralement, une exception est le résultat d'une erreur de programmation.
  • Les erreurs : une erreur peut être déclenchée par une fonction du WLangage pour signaler l'échec d'une opération (par exemple, la fonction fSupprime retourne une erreur si la suppression du fichier demandé échoue). Les erreurs peuvent également être provoquées par le développeur à l'aide de la fonction ErreurDéclenche.
    Une erreur est le plus souvent causée par une mauvaise manipulation de l'utilisateur de l'application ou une défaillance de l'environnement de l'application.
  • Les warnings d'exécution : ces warnings sont rapportés par certaines fonctions WLangage pour signaler un comportement potentiellement problématique mais qui ne cause pas d'erreur. Par exemple, le WLangage détecte un problème de performances dans le code de l'application.
    Exemples de warning d'exécution :
    • L'utilisation de la fonction zipExtraitFichier dans une boucle pour extraire un grand nombre de fichiers d'une archive Zip ou 7z est peu performante. Il est recommandé d'utiliser la fonction zipExtraitListeFichier.
    • Améliorations possibles sur les champs Graphe : activation de l'antialiasing, utilisation des étiquettes à l'intérieur des parts de secteur, ...
    • Accès aux champs déconseillé depuis les threads secondaires.
    • Le débit vers le serveur est faible. Ce warning informe d'un problème de performances du réseau. Il est donné à l'ouverture d'une connexion à un serveur HFSQL Client/Serveur lorsque :
      • la latence est supérieure à 50 millisecondes,
      • une trame réseau de petite taille nécessite un temps élevé pour faire l'aller-retour entre le client et le serveur (plus d'une seconde pour 256 ko).
  • Les assertions : l'audit dynamique rapporte tous les appels à la fonction dbgAssertion dans lesquels la condition s'est révélée fausse.
  • Les événements de débogage : ces événements sont provoqués par l'appel des fonctions de débogage (par exemple dbgSauveDumpMémoire).
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/03/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale