PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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

Versions 19 et supérieures
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.
Nouveauté 19
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.
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. Sélectionnez l'option de menu "Projet .. Mode test .. Déboguer le projet avec l'audit activé". Le projet se lance.Sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode test" et sélectionnez "Déboguer le projet avec l'audit activé". Le projet se lance.WINDEV Mobile Le lancement de l'audit dynamique est possible uniquement en mode simulateur (option de menu "Projet .. Mode test .. Déboguer le projet avec l'audit activé (simulateur)". WINDEV Mobile Le lancement de l'audit dynamique est possible uniquement en mode simulateur. Pour lancer cet audit, sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode test" et sélectionnez "Déboguer le projet avec l'audit activé (simulateur)".
  3. Manipulez le projet pour utiliser les fonctionnalités que vous souhaitez auditer.
  4. Fermez l'application.
L'éditeur ouvre alors la fenêtre de compte-rendu de l'audit dynamique. Le compte-rendu de l'audit dynamique est également affiché dans le volet "Trace du débogueur".
Versions 16 et supérieures

Lancer un audit dynamique lors des tests automatiques

Pour lancer un audit dynamique lors des tests automatiques :
  1. Ouvrez le projet à analyser.
  2. Sélectionnez l'option de menu "Tests automatiques .. Activer l'audit dynamique pendant les tests automatiques".Sous le volet "Tests automatiques", dans le groupe "Tests", déroulez "Exécuter" 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".
Nouveauté 16

Lancer un audit dynamique lors des tests automatiques

Pour lancer un audit dynamique lors des tests automatiques :
  1. Ouvrez le projet à analyser.
  2. Sélectionnez l'option de menu "Tests automatiques .. Activer l'audit dynamique pendant les tests automatiques".Sous le volet "Tests automatiques", dans le groupe "Tests", déroulez "Exécuter" 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".

Lancer un audit dynamique lors des tests automatiques

Pour lancer un audit dynamique lors des tests automatiques :
  1. Ouvrez le projet à analyser.
  2. Sélectionnez l'option de menu "Tests automatiques .. Activer l'audit dynamique pendant les tests automatiques".Sous le volet "Tests automatiques", dans le groupe "Tests", déroulez "Exécuter" 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 ".wdaudit". 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 AndroidJava 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 .wdaudit à 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 ".wdaudit", 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.
  • Versions 19 et supérieures
    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.
    Nouveauté 19
    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.
    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.
    • Versions 19 et supérieures
      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.
      Nouveauté 19
      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.
      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 :
    • Versions 20 et supérieures
      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.
      Nouveauté 20
      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.
      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.
    • Versions 22 et supérieures
      Améliorations possibles sur les champs Graphe : activation de l'antialiasing, utilisation des étiquettes à l'intérieur des parts de secteur, ...
      Nouveauté 22
      Améliorations possibles sur les champs Graphe : activation de l'antialiasing, utilisation des étiquettes à l'intérieur des parts de secteur, ...
      Améliorations possibles sur les champs Graphe : activation de l'antialiasing, utilisation des étiquettes à l'intérieur des parts de secteur, ...
    • Versions 22 et supérieures
      Accès aux champs déconseillé depuis les threads secondaires.
      Nouveauté 22
      Accès aux champs déconseillé depuis les threads secondaires.
      Accès aux champs déconseillé depuis les threads secondaires.
  • 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