2011-12-21 1 views
4

J'ai un journal et un essayer attraper dans cette application de la console, mais ne semble pas aller aussi loin. Fonctionne bien sur ma machine dev, ne fonctionne pas sur Win Server 2008. L'observateur d'événements a les mêmes informations que ci-dessous. Je comprends qu'il n'y a pas grand chose à faire ici, mais c'est ce que je sais. Tous les déploiements précédents ont fonctionné, donc je suis à perte.Comment faire pour résoudre l'erreur: "Programme cessé de travailler APPCRASH"

Veuillez ne pas fermer, et aidez-moi à résoudre ce problème. Je vais répondre à toutes les questions que je peux.

Merci.

 
Description: 
    Stopped working 

Problem signature: 
    Problem Event Name: APPCRASH 
    Application Name: LoaderLive.exe 
    Application Version: 2.0.1.0 
    Application Timestamp: 4ef176d6 
    Fault Module Name: KERNELBASE.dll 
    Fault Module Version: 6.1.7601.17651 
    Fault Module Timestamp: 4e211319 
    Exception Code: e0434f4d 
    Exception Offset: 0000b9bc 
    OS Version: 6.1.7601.2.1.0.272.7 
    Locale ID: 1033 

Read our privacy statement online: 
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409 

If the online privacy statement is not available, please read our privacy statement offline: 
    C:\Windows\system32\en-US\erofflps.txt 
+3

Il a bombardé sur une exception gérée non gérée. Implémentez un gestionnaire d'événement pour l'événement AppDomain.CurrentDomain.UnhandledException et consignez ou affichez la valeur de e.ExceptionObject.ToString() –

+1

Peut être des exceptions ne passant pas par les limites de thread. Ajoutez un gestionnaire à "program.cs" pour AppDomain.CurrentDomain.UnhandledException, récupérez-le dans le journal. –

+0

Ah, vous avez eu ce gars aussi @Hans Passant. –

Répondre

3

Si vous avez un essai de haut niveau/catch et ce ne sont pas attraper l'exception, il est peut-être parce que la faute se produit à un niveau très bas (par exemple, quelque part dans une bibliothèque de code natif), trop tôt (avant que votre Main ne commence même), ou sur un autre thread (où votre try/catch ne peut pas "atteindre").

Pour savoir ce qui se passe, exécutez l'application sous un débogueur. Si vous avez Visual Studio installé sur la machine cible, vous pouvez le faire à partir de là (ouvrez l'EXE et "Démarrer le débogage"). Sinon, vous pouvez utiliser windbg.exe/cdb.exe (disponible sous la forme Debugging Tools for Windows dans le SDK Windows). Dans le débogueur, vous devriez être en mesure de voir où l'erreur se produit, car elle s'arrêtera par défaut sur toute exception fatale.