Skip to main content

Débogage et exécution de diagnostics

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Comprendre quelles fonctionnalités de débogage sont disponibles sur la plate-forme Lightning
  • Utiliser Log Inspector dans la Developer Console pour examiner les journaux de débogage

Vidéo de démonstration Trail Together

Vous souhaitez être guidé pas à pas par un expert pendant que vous travaillez sur cette étape ? Regardez cette vidéo qui fait partie de la série Trail Together.

(Ce clip commence à 40 min 30 s, au cas où vous voudriez revenir en arrière et regarder à nouveau le début de l’étape.)

Retour en arrière

Nous n'allons pas essayer de vous faire croire que le débogage est aussi simple sur la plate-forme Lightning que dans Visual Studio. Pour être tout à fait honnête, il en est loin. Dans un environnement Cloud mutualisé, le débogage présente des défis uniques. Cela ne signifie pas que vous ne pouvez pas procéder au débogage et au diagnostic sur la plate-forme Lightning. Le débogage est différent de celui auquel vous êtes habitué(e). La bonne nouvelle est que Salesforce a considérablement progressé dans ce domaine récemment et que chaque version améliore le débogage.

Votre ami le journal de déblocage

Dans l'univers de la plate-forme Lightning, le journal de débogage consigne la plupart des informations dont vous avez besoin pour déboguer et analyser votre code. Vous avez déjà vu comment écrire dans le journal de débogage. Vous utilisez un code semblable au suivant :

System.debug('My Debug Message');

Vous pouvez également spécifier l'un des niveaux de consignation ci-dessous.

  • NONE
  • ERROR
  • WARN
  • INFO
  • DEBUG
  • FINE
  • FINER
  • FINEST

Ces niveaux sont exécutés depuis le faible vers le plus élevé et ils se cumulent. Ainsi, si vous choisissez le niveau le plus élevé, vous obtenez tous les messages d'erreur, d'avertissement, d'information, etc. Il existe plusieurs catégories de journal de débogage et le volume d'information consigné dépend du niveau de consignation. Pour en savoir plus sur le débogage pour différents utilisateurs, suivez les liens de la section Ressources.

Pourquoi ces informations sont-elles si importantes à connaître ?

Nous sommes conscients que vous avez lu beaucoup d'informations sur les limitations, mais leur compréhension est essentielle pour votre réussite. Un journal de débogage ne doit pas dépasser 20 Mo. Si sa taille est supérieure, vous ne verrez pas toutes les informations dont vous avez besoin. De plus, chaque organisation peut conserver jusqu’à 1 000 Mo de journaux de débogage. Les journaux les plus anciens sont remplacés.

Ces journaux représentent la source principale d'information sur le débogage de votre application. Par conséquent, assurez-vous de respecter ces limitations. Si le message associé à une erreur n'est pas visible, vous n'avez aucun élément pour résoudre le problème. Pour éviter ce type de problème, suivez les liens relatifs au débogage Apex avancé et aux meilleures pratiques de la section Ressources.

Utilisation de Log Inspector

La Developer Console s'est considérablement étoffée dans les dernières versions. L'une de ses fonctionnalités les plus utiles est le Log Inspector. Pour comprendre son fonctionnement, examinons l'exécution d'un code anonyme et ses résultats.

  1. Dans Configuration, sélectionnez Votre nom > Developer Console pour ouvrir la Developer Console.
  2. Sélectionnez Débogage > Modifier les niveaux de consignation.
  3. Cliquez sur le lien Ajouter/Modifier dans Vos paramètres de suivi généraux.
  4. Sélectionnez le niveau de débogage INFO pour toutes les colonnes.
  5. Cliquez sur Terminé.
  6. Cliquez sur Terminé.
  7. Sélectionnez Débogage > Gestionnaire de perspectives.
  8. Sélectionnez Tout (prédéfini), puis cliquez sur Définir par défaut.
  9. Cliquez sur Yes pour définir cette perspective par défaut.
  10. Fermez la fenêtre Developer Console Perspective.
  11. Sélectionnez Débogage > Ouvrir une fenêtre d’exécution anonyme.
  12. Supprimez le code existant, puis insérez l’extrait suivant :
    System.debug(LoggingLevel.INFO, 'My Info Debug Message');
    System.debug(LoggingLevel.FINE, 'My Fine Debug Message');
    List<Account> accts = [SELECT Id, Name FROM Account];
    for(Account a :accts) {
        System.debug('Account Name:' + a.name);
        System.debug('Account Id:' + a.Id);
    }
    
  13. Assurez-vous que l’option Ouvrir le journal est sélectionnée, puis cliquez sur Exécuter.
  14. Sélectionnez Débogage  > Changer de perspective > Tout (prédéfini).
  15. Examinez les résultats sous les onglets Timeline et Executed Units.
  16. Sous Execution Log, sélectionnez l'option Filter, puis saisissez FINE. Puisque nous définissons le niveau de débogage sur INFO pour Apex Code, aucun résultat n'est affiché.
  17. Sélectionnez Débogage > Modifier les niveaux de consignation.
  18. Cliquez sur le lien Ajouter/Modifier dans Vos paramètres de suivi généraux.
  19. Changez DebugLevel for ApexCode et Profiling sur FINEST.
  20. Cliquez sur Terminé.
  21. Cliquez sur Terminé.
  22. Sélectionnez Débogage > Ouvrir une fenêtre d’exécution anonyme.
  23. Laissez le code inchangé, puis cliquez sur Exécuter.
  24. Sous Execution Log, sélectionnez l'option Filter, puis saisissez FINE. La recherche de filtre est sensible à la casse. Le message « My Fine Debug Message » est affiché. Vous devriez remarquer une différence de taille entre les deux derniers journaux sous l'onglet Logs.

Définition de points de contrôle

En tant que développeur .NET, vous avez l’habitude de définir des points de contrôle dans vos applications. Cependant, dans un environnement mutualisé basé sur le Cloud, dans lequel les ressources sont partagées entre tous, autoriser un utilisateur à interrompre l'exécution et laisser les connexions à la base de données ouvertes entraînent des catastrophes.

Les points de contrôle sont semblables à des points d'arrêt, car ils révèlent des informations d'exécution nombreuses et détaillées sur une ligne de code. Ils n'arrêtent pas l'exécution à cette ligne.

Pour comprendre leur fonctionnement, examinons la définition d'un point de contrôle sur une ligne de code que vous avez créée dans une unité précédente, Compréhension du contexte d'exécution. Si vous n'avez pas créé le code du gestionnaire et du déclencheur pour AccountTrigger, revenez à cette unité et suivez cette section avant de continuer.

  1. Dans Configuration, sélectionnez Votre nom > Developer Console pour ouvrir la Developer Console.
  2. Sélectionnez Fichier > Ouvrir.
  3. Sélectionnez le type d’entité Classes, puis l’entité AccountHandler.
  4. Cliquez sur Open.
  5. Placez votre curseur au-dessus de la ligne 10 dans la marge gauche, puis cliquez une fois. Un point rouge s'affiche en regard du numéro de la ligne.
  6. Double-cliquez sur la dernière entrée dans le panneau Logs pour ouvrir le journal de débogage.
  7. Sélectionnez Débogage > Ouvrir une fenêtre d’exécution anonyme.
  8. Supprimez le code existant, puis insérez l’extrait suivant :
    Account acct = new Account(
        Name='Test Account 3',
        Phone='(415)555-8989',
        NumberOfEmployees=30,
        BillingCity='San Francisco');
    insert acct;
    
  9. Assurez-vous que l’option Ouvrir le journal est sélectionnée, puis cliquez sur Exécuter.
  10. Cliquez sur l'onglet Checkpoints, puis double-cliquez sur la première entrée qui s'affiche. Le Checkpoint Inspector s'ouvre.
  11. Sous l'onglet Symbols, développez les nœuds de l'arborescence d'exécution. Notez les colonnes Key et Value.
  12. Cliquez sur l'onglet Heap. Notez les colonnes Count et Total Size.

Ensuite ?

Vous connaissez désormais les concepts de base du langage Apex. Vous pouvez poursuivre votre parcours Salesforce. Accédez à notre parcours Développeur débutant afin d'exploiter vos connaissances en développement pour élaborer rapidement des applications sur Salesforce Platform.

Ressources

Formez-vous gratuitement !
Créez un compte pour continuer.
Qu’est-ce que vous y gagnez ?
  • Obtenez des recommandations personnalisées pour vos objectifs de carrière
  • Mettez en pratique vos compétences grâce à des défis pratiques et à des questionnaires
  • Suivez et partagez vos progrès avec des employeurs
  • Découvrez des opportunités de mentorat et de carrière