Suivez votre progression
Accueil Trailhead
Accueil Trailhead

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

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 Debug > Change Log Levels.
  3. Cliquez sur le lien Add/Change dans General Trace Setting for You.
  4. Sélectionnez le niveau de débogage INFO pour toutes les colonnes.
  5. Cliquez sur Done.
  6. Cliquez sur Done.
  7. Sélectionnez Debug > Perspective Manager.
  8. Sélectionnez All (Predefined), puis cliquez sur Set Default.
  9. Cliquez sur Yes pour définir cette perspective par défaut.
  10. Fermez la fenêtre Developer Console Perspective.
  11. Sélectionnez Debug > Open Execute Anonymous Window.
  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 qu'Open Log est sélectionnée, puis cliquez sur Execute.

  14. Sélectionnez Debug > Switch Perspective > All (Predefined).

  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 Debug > Change Log Levels.

  18. Cliquez sur le lien Add/Change dans General Trace Setting for You.

  19. Changez DebugLevel for ApexCode et Profiling sur FINEST.

  20. Cliquez sur Done.

  21. Cliquez sur Done.

  22. Sélectionnez Debug > Open Execute Anonymous Window.

  23. Laissez le code inchangé, puis cliquez sur Execute.

  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 File > Open.
  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. Cliquez sur .
  7. Double-cliquez sur la dernière entrée dans le panneau Logs pour ouvrir le journal de débogage.
  8. Sélectionnez Debug > Open Execute Anonymous Window.
  9. 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;
    
  10. Assurez-vous qu'Open Log est sélectionnée, puis cliquez sur Execute.

  11. Cliquez sur l'onglet Checkpoints, puis double-cliquez sur la première entrée qui s'affiche. Le Checkpoint Inspector s'ouvre.

  12. Sous l'onglet Symbols, développez les nœuds de l'arborescence d'exécution. Notez les colonnes Key et Value.

  13. 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 pour exploiter vos connaissances en développement en élaborant rapidement des applications sur Salesforce Platform.

Ressources