Mon application jette InvalidcastException dans l'environnement QA, quelque chose que je ne peux pas reproduire dans le développement. P>
Je souhaite obtenir le miniDump au moment de l'exception. Je sais à propos de Adplus, mais je ne suis pas sûr de la manière de l'utiliser pour que cela crée le miniDump lorsque InvalidCastException est lancé. Apparemment, il ne distingue pas une exception .NET d'un autre. Peut-être que je me trompe et il y a un moyen. Ou, il y a un autre outil pour le faire. De préférence gratuit. P>
Quoi qu'il en soit, quelqu'un peut-il conseiller comment gérer ce problème? P>
Merci. P>
En réalité, j'ai "volé" le code de génération MiniDump de John Robbins Superassert.net à nouveau, il s'agit d'un code de génération minidup de certains points de béton, alors que j'ai besoin d'une approche plus flexible dans le style d'Adplus.
L'approche de John Robbins est la création d'un script CDB, puis d'appeler le débogueur CDB avec ce script pour la fixer au processus et créer le décharge. Il n'utilise pas l'API MiniDumpwriDeRump. P>
3 Réponses :
Le moyen le plus simple consiste à le laisser passer de l'application, laissez l'utilisateur le signaler à Microsoft et inscrivez-vous à la déclaration d'erreur Windows. P>
Alternativement, vous pouvez la capturer à la main en utilisant le Superassert de John Robbins (ou un sous-ensemble de son code). P>
La chose est que j'ai besoin d'une solution non interactive et j'en ai besoin maintenant.
Considérons ma deuxième solution, alors. Prendre un minidump du processus en cours d'exécution n'est pas trivial, je vous recommande donc d'utiliser le code de John Robbins.
En fait, j'ai "volé" le code de génération MiniDump de John Robbins Superassert.net à nouveau, il s'agit de code pour générer minidup de certains points de béton, alors que j'ai besoin d'une approche plus flexible dans le style d'Adplus
C'est possible, vous devez .charger sos.dll dans votre script adplus. Ce Publication du blog montre comment. p>
Méfiez-vous des joies douteuses de débogage du code géré d'un minidump. Si vous rencontrez des exceptions difficiles à diagnostiquer, alors qu'il est toujours à QA, vous y allez-y à nouveau en production. Avec dragons respirant le feu ajouté alors. Prenez soin de la bonne exception non gérée la journalisation en écrivant un gestionnaire d'événements pour AppDomain.unhandleXception. Loging E.ExceptionObject.Tostring () donne une mine d'informations. P>
VOULEZ-VOUS probablement probablement utiliser Si vous utilisez Visual Studio 2010, vous pouvez charger MiniDump Direct dans Visual Studio (voir http://msdn.microsoft.com/en-us/library/d5zhxt22 (v = vs.100) .aspx ) p> MINIDUMUMPRODUMP CODE> API dans votre application C #? Regardez http: //blog.kalbach-software .de / 2008/12/13 / ECRIT-MINIDUMMUMMS-IN-C / Pour un exemple de code ou rechercher dans Internat pour MiniDumpwriDeDmp code> et C #. P>
Mettez à jour la question sur la manière dont je crée le code MiniDump.
Une question rapide - avez-vous la ligne de code où se passe la distribution? L'environnement QA est-il compilé dans le mode 'Libération' plutôt que le mode «débogage»?
L'environnement QA est identique à Dev, en ce qui concerne la construction. Ce qui compte, c'est que l'environnement QA est distribué, tandis que Devs exécutent tout sur la même machine.