J'ai développé une application «Proof of Concept» qui consigne les exceptions non gérées d'une application dans un système de suivi des bogues (dans ce cas, Team Foundation Server, mais ce pourrait être n'importe quel système de suivi des bogues) . Une limitation de cette idée est que je ne veux pas que les éléments de bogue dupliqués soient ouverts chaque fois que la même exception est levée (par exemple, beaucoup d'utilisateurs rencontrent l'exception - c'est toujours un "bogue" unique). Ma première tentative a été de stocker le type d'exception, le message et la trace de pile dans les champs du système de suivi des bogues. Le composant de journalisation faisait ensuite une requête sur le bogue "Store" pour voir s'il y avait un bogue ouvert. même information. (Cet exemple est .NET - mais je pense que le concept est indépendant de la plate-forme). Le problème est évidemment que ces champs peuvent être très grands (en particulier la trace de la pile) - et nécessite une implémentation de type "Full-Text" pour les stocker et la recherche est très coûteuse. Je me demandais quelles approches ont été définies pour ce problème. J'avais entendu dire que FogBugz par exemple avait une telle fonctionnalité pour le suivi automatique des bogues, et était curieux de savoir comment il a été mis en œuvre.Identification des exceptions en double pour le suivi des bogues
Répondre
Vous pouvez créer un hachage de somme de contrôle de la trace de la pile et l'enregistrer en tant que colonne indexée. De cette façon, la requête sur le Bug Store serait assez rapide pour éviter les doublons lors de l'insertion.
Si vous avez la trace de la pile, vous pouvez trouver la dernière instruction dans la trace de la pile et la comparer avec celles déjà enregistrées. Si les symboles étaient inclus, vous obtiendriez également le numéro de ligne. Donc, maintenant vous avez deux choses à comparer, le numéro d'erreur réelle et la déclaration qui a échoué et, éventuellement, le numéro de ligne réelle. Si quelque chose a déjà été connecté avec tous ceux-ci, alors il est plus que probable (pas 100%, bien sûr) le même problème. En fait, vous pouvez probablement analyser la trace de la pile avec le mot "at", car chaque ligne dans la trace de la pile commence par "at". Donc, cherchez le dernier "at", obtenez cette ligne, comparez-la avec la dernière ligne "at" des traces de la pile stockée, et vous pourriez réellement avoir quelque chose.
HTH!
Vous pouvez consulter le code source de l'une des solutions Open Source existantes qui agrègent les exceptions.
Par exemple: https://github.com/getsentry/sentry/tree/master/src/sentry
Il est pas un problème simple et il y a des heuristiques complexes (par exemple même exception signalé de différentes façons sur les différents navigateurs, par exemple des exceptions dues à des extensions de navigateur sont communes et sont rarement importants).
- 1. iPhone: Suivi/Identification des touches individuelles
- 2. Gestion de projet distribuée/suivi des bogues
- 3. Recherche d'un outil de suivi des bogues/gestion des tâches
- 4. Quels outils de suivi des bogues peuvent fonctionner avec Beanstalk?
- 5. Pourquoi utiliser un logiciel de suivi des bogues?
- 6. Systèmes SVN et de suivi des bogues gratuits pour le projet Closed-source
- 7. Logiciel de suivi de bogues pour Mac OS X
- 8. Addin de suivi de bogues pour Visual Studio?
- 9. Identification des fichiers pour un correctif/correctif
- 10. Identification des espaces blancs en C++
- 11. suivi des visiteurs en ligne
- 12. Gestion des exceptions globales pour le contrôle des winforms
- 13. Refactoring des méthodes suivantes pour supprimer le code en double
- 14. Visual SVN et le suivi des bugs intégrés
- 15. Ajout d'un bogue par e-mail avec un système de suivi des bogues
- 16. Gestion des téléchargements en double
- 17. Quel est votre système de suivi des bogues/problèmes préféré? Et pourquoi?
- 18. django suivi des utilisateurs en ligne récents
- 19. Meilleure pratique pour le suivi hiérarchique des ressources MySQL
- 20. Suivi des 'liens utiles'
- 21. Suivi des événements
- 22. Comment affecter des ressources à une tâche dans une application de suivi de bogues en cours de développement
- 23. Suivi des vues pour le contenu dans mysql
- 24. Identification des références de service Web ASP.NET
- 25. Reprise des exceptions par des exceptions d'exécution avec une annotation
- 26. attraper des exceptions dans le balisage asp.net
- 27. DB2 Gestion des exceptions
- 28. Liste des bogues connus dans le compilateur C#
- 29. Comment trouver des bogues webrick dans NetBeans pour Ror?
- 30. Suppression des exceptions d'exécution en C# pour l'application ASP.NET MVC