Les pubs vous déplaisent ? Aller Sans pub Auj.

Formatteur et analyseur de traces de pile

DonnéesPromoteurTexte
ANNONCE · Supprimer ?

Piste nettoyée (Markdown)

ANNONCE · Supprimer ?

Guide

Formatrice et analyseur de piste d'erreur

Formatteur et analyseur de traces de pile

Collez une piste d'erreur brute provenant de JavaScript, Python, Java, Ruby, Go, .NET ou PHP et obtenez immédiatement une analyse colorée, par frame. L'outil détecte automatiquement la langue, sépare votre code des bruits de framework et génère un bloc Markdown propre que vous pouvez coller directement dans un rapport de bug ou une demande de modification.

Comment utiliser

  1. Collez la piste d'erreur brute dans la zone d'entrée, ou cliquez sur l'un des exemples de langage pour voir le formatage en action.
  2. Laissez la langue activée Détection automatique, ou choisissez une langue manuellement si le format est inhabituel ou tronqué.
  3. Basculer Réduire les frames du framework / du fournisseur pour regrouper les longues séries de code de bibliothèque dans un seul bloc déployable.
  4. Utilisez Met en évidence les frames du code utilisateur pour faire ressortir vos propres fichiers parmi le reste de la piste.
  5. Cliquez sur le bouton copier à côté du résultat en Markdown pour coller un bloc de code propre dans GitHub, Slack ou Jira.

Caractéristiques

  • Sept langages pris en charge – JavaScript / TypeScript, Python, Java / Kotlin, Ruby, Go, .NET (C#) et PHP.
  • Détection automatique de la langue – le parser examine des motifs caractéristiques dans votre piste et choisit le bon grammage, afin que vous n'ayez presque jamais besoin de le définir manuellement.
  • Réduction des frames du fournisseur – les longues séries de node_modules, site-packages, Spring, gems ou System.* sont regroupées en une seule ligne déployable avec un clic.
  • Mise en évidence du code utilisateur – vos propres fichiers apparaissent en couleur chaude afin que les lignes pertinentes ne se cachent pas dans le bruit.
  • Résumé de l'exception – le type et le message sont extraits dans une en-tête avec des badges indiquant le nombre total, des frames utilisateur et des frames fournisseur.
  • Chaînes de cause – les causes imbriquées provenant de Java et les traces imbriquées de Python sont affichées comme des sections séparées.
  • Export en Markdown – génère un bloc de code encadré prêt à être collé dans des rapports de bug, des demandes de modification ou des outils de discussion.
  • Entièrement côté client – rien ne quitte votre navigateur ; sécurisé à utiliser avec des pistes d'erreur provenant de systèmes en production.

Cas d'utilisation courants

  • Analyser un incident en production – collez une longue piste et identifiez immédiatement le fichier de votre propre code qui se trouve en haut de la chaîne.
  • Écrire un meilleur rapport de bug – exportez une piste au format Markdown qui s'affiche proprement sur GitHub, GitLab et Jira.
  • Examiner un journal d'erreur d'un collègue – réduisez les frames tiers afin que la conversation reste concentrée sur le code que vous possédez réellement.
  • Apprendre à déboguer – utilisez la coloration utilisateur / fournisseur pour montrer aux nouveaux développeurs comment lire une piste du bas vers le haut.

FAQ

  1. Pourquoi lit-on une piste d'erreur du bas vers le haut ?

    Dans la plupart des langages, la pile grandit vers le bas lorsque les fonctions s'appellent, et le runtime affiche l'appel le plus récent en haut. Lire du bas vers le haut vous donne l'ordre chronologique : le point d'entrée en premier, puis chaque appel successif, puis la ligne échouée en dernier. Regarder le bas est aussi là où se trouvent les clauses « causé par » en Java et les traces imbriquées en Python, qui contiennent souvent la cause réelle.

  2. Quelle est la différence entre une piste d'erreur et un dump de crash ?

    Une piste d'erreur est une liste textuelle des appels de fonction actifs lorsque l'exception a été levée. Un dump de crash est une copie binaire de la mémoire, des registres et des threads au moment d'un défaut fatale, généralement généré par le système d'exploitation ou le runtime. Les pistes d'erreur sont peu coûteuses et partageables dans les discussions ; les dumps de crash nécessitent un débogueur pour être utiles et contiennent souvent des données sensibles de mémoire.

  3. Qu'est-ce qu'une frame de framework ou de fournisseur ?

    Des frames dont le chemin de fichier ou le nom complet appartient à une bibliothèque, un framework, un runtime ou une dépendance installée plutôt qu'au code source de votre propre application. Exemples : tout sous node_modules, site-packages, vendor/, /usr/lib/, le GOROOT, les préfixes java.* / javax.* et les espaces de noms System.* / Microsoft.* dans .NET. Ils contiennent rarement la faille que vous recherchez, ce qui est la raison pour laquelle leur réduction rend la piste beaucoup plus lisible.

  4. Pourquoi les pistes d'erreur de Python incluent-elles une ligne « During handling of the above exception » ?

    Python conserve les chaînes d'exception : lorsque l'une des exceptions est levée pendant qu'une autre est en cours de traitement, l'interpréteur affiche les deux. « During handling of the above exception, another exception occurred » marque une chaîne implicite, tandis que « The above exception was the direct cause of the following exception » marque une chaîne explicite définie via « raise X from Y ». Ensemble, elles vous aident à voir si une erreur ultérieure a été causée par une erreur antérieure ou s'il s'agit simplement d'une erreur survenue en superposant.

  5. Qu'est-ce qu'un panic en Go et comment est-il différent d'une exception ?

    Un panic est le mécanisme de Go pour les erreurs de runtime non récupérables, similaire en esprit à une exception mais intentionnellement plus restreint. Le Go utilise les valeurs d'erreur retournées pour les modes d'échec attendus et réserve les panics aux bugs de programmation vraiment inattendus, tels que des déréférencements de pointeurs nuls ou des accès hors limites à des slices. Un panic parcourt la pile de la goroutine, exécute les fonctions déclarées et provoque finalement la panne du programme, sauf s'il est intercepté par recover.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?