2010-10-06 3 views
1

J'ai un nouveau programme qui fonctionne 24/7 depuis plus de 2 semaines maintenant, mais la nuit dernière, il s'est écrasé/tombé sans exception de journal fatal dans mon fichier log4net ... le processus semble avoir été tué par quelque chose .. .. et quand j'ai regardé dans le journal de l'application Windows Event Viewer il contenait une erreur pour le processus des programmes disant '.NET Runtime 2.0 Error' Type: Erreur EventID: 1000.Bogue d'exécution Net: Erreur .NET Runtime 2.0 - ID de l'événement: 1000 a écrasé mon programme. Qu'est-ce qui a causé ça?

Cela semble être un échec d'exécution .Net/bug et n'a rien à voir avec mon code.

Est-ce que quelqu'un sait ce qui a causé cela? Existe-t-il une correction d'exécution .Net?

/J'utilise .Net 3.5 sur une tranche Windows Server 2003 vm.

Merci d'avance.

Edit:

Description complète de l'événement ci-dessous. Il n'y avait pas d'événements autour pendant des heures et il y avait des informations niveau pas d'erreur comme celui-ci.

Source: runtime .NET 2.0 d'erreur Type: Erreur ID d'événement: 1000

Description du journal des événements: Défaillant application CompanyName.AppName.exe, version 0.0.0.0, timbre 4ca5d33d, module défaillant mscorwks .dll, version 2.0.50727.3607, tampon 4add5446, débogage? 0, adresse de panne 0x0010724e.

Pour plus d'informations, consultez le Centre d'aide et de support au http://go.microsoft.com/fwlink/events.asp.

+1

Référencer toutes les informations de l'entrée de journal des événements, ainsi que des événements connexes autour d'elle. – leppie

+0

info sur le journal des événements ajouté – DayTwo

+0

Avez-vous un vidage mémoire? – sloth

Répondre

0

L'erreur ressemble à une erreur .NET Runtime 2.0 due à la référence null se trouve dans le cache de stratégie utilisateur. Assurez-vous que tout le dernier service pack .NET est installé. Jetez également un coup d'oeil à this Microsoft answer.

+3

FYI. Le core .NET runtime est toujours la version 2.0, même si le framework est la version 3.5. À partir de .NET framework 4, le core runtime est également à la version 4. Était un peu confus pour moi dans les premiers jours, car je pensais que le runtime était la version 3.0/3.5 pour se synchroniser avec le framework. –

2

Comme vous n'obtenez aucune information utile au moment du crash, une approche alternative consiste à attacher un débogueur au plantage EXE. Il y a deux façons que je propose:

Utilisation de Visual Studio

Si vous avez Visual Studio installé sur le même PC/serveur que l'application plantage, veuillez joindre Visual Studio à l'EXE pendant qu'il est en cours d'exécution. Voici une introduction sur la façon de le faire:

http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx

En utilisant WinDbg

C'est un très bas niveau, et puissant, débogueur pour Windows. Cela pourrait certainement vous aider avec votre problème. Cependant, il y a une courbe d'apprentissage abrupte dans la façon de commencer à l'utiliser. Le framework .NET est livré avec un DLL nommé SOS.DLL (qui se trouve dans le dossier système C:\Windows\......) qui contient de nombreuses commandes que vous pouvez utiliser dans WinDbg pour analyser une application .NET. Cela inclut la liste des threads et l'affichage des informations d'exception.

Une très bonne source d'informations sur la façon de déboguer.questions NET avec WinDbg est

http://blogs.msdn.com/b/tess/

Il y a beaucoup d'excellents exemples de la façon de déboguer des problèmes, tels que

http://blogs.msdn.com/b/tess/archive/2008/02/11/net-debugging-demos-lab-2-crash-review.aspx

Vous pouvez télécharger WinDbg à partir de:

Je recommande fortement l'approche Visual Studio, en raison de sa simplicité. Cependant, de loin le moyen le plus puissant de déboguer votre application est d'utiliser WinDbg, mais il peut être intimidant pour les utilisateurs débutants.

EDIT: Voici un autre lien qui pourrait être utile:

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ebd10d1f-902b-4a95-ba42-e87c4f817097

Questions connexes