Nettoyeur de stack traces .NET

Transformez un mur de texte d’exception en cause première et en ligne de votre code qui l’a déclenchée.

Fonctionne en local · aucun envoi
Exception text
Framework prefixes for "Only my code"

Comma or space separated. Frames whose full name starts with one of these count as framework code. Add your own shared libraries if you want them folded too.

Ce que fait l’outil

Collez la sortie de exception.ToString() : l’outil la découpe en une carte par exception, à savoir l’exception externe, chaque exception interne ---> et chaque entrée d’une AggregateException. L’exception la plus interne est marquée comme cause première, et la première frame appartenant à votre code comme origine probable.

Fonctionnalités

  • Code async démystifié : <GetOrderAsync>d__5.MoveNext() devient async OrderService.GetOrderAsync(), <>c__DisplayClass0_0.<Main>b__0 devient une lambda nommée et les fonctions locales retrouvent leur vrai nom. Les frames TaskAwaiter, ExecutionContext et ExceptionDispatchInfo ainsi que les marqueurs --- End of stack trace from previous location --- sont masqués. Survolez une frame pour voir le texte d’origine.
  • Uniquement mon code : les suites de frames du framework sont repliées en groupes dépliables « n frames du framework ». La liste des préfixes (System., Microsoft., Npgsql.…) est modifiable.
  • Accepte les entrées désordonnées : sorties Serilog et Microsoft.Extensions.Logging, lignes de log CLEF / JSON (@x), JSON d’exception d’Application Insights, traces avec des \r\n échappés, texte de la developer exception page d’ASP.NET Core, formats .NET Framework et Mono.
  • Fichier et ligne pour chaque frame. Cliquez pour copier path:line.
  • Exportez la trace nettoyée en texte ou en Markdown prêt pour une issue GitHub ou Azure DevOps.

Mode d’emploi

  1. Collez l’exception, ou ouvrez ou déposez un fichier de log.
  2. Lisez d’abord la frame d’origine mise en évidence, puis dépliez les frames du framework seulement si nécessaire.
  3. Copiez le texte nettoyé ou le Markdown dans votre ticket.

Confidentialité

L’analyse se fait dans votre navigateur et rien n’est envoyé. Votre dernière saisie et la liste des préfixes sont conservées dans le stockage local ; Effacer supprime la saisie.