J'ai un programme Windows C# (.net 3.5) qui s'exécute en arrière-plan sur un contrôleur en temps réel (Windows 7 Embedded).C# comment ouvrir une session de programme inattendue
Après quelques jours, le processus se termine apparemment. Maintenant, je suis en train de consigner complètement les actions et les exceptions de mon programme. Tout ce qui peut déclencher une exception est entouré par try/catch et est en cours d'écriture dans un fichier journal, et si le logger a une exception écrite dans le journal des événements Windows. Mais il n'y a rien dans les journaux qui laisse entendre une exception qui pourrait provoquer une interruption du programme. Y at-il d'autres techniques pour attraper et consigner la terminaison du programme?
Jusqu'à présent, je ne pouvais pas reproduire le bogue dans une session de débogage en ligne.
Le programme lui-même est très simple. Il utilise deux chronomètres et génère un thread pour communiquer avec un programme en temps réel. Il écrit un booléen 'vivant', un entier 'erreur' et lit un autre entier. La taille du fichier journal est limitée à 10 Mooctets. Si la taille est atteinte, le fichier est renommé avec une date et un nouveau fichier est ouvert. Les fichiers de plus de 30 jours seront supprimés.
J'ai vérifié les journaux d'événements de Windows et n'ai rien trouvé qui se rapporte directement au programme.
Que feriez-vous?
Regardez gestionnaire global d'exception, mayby il peut attraper quelque chose. – BWA
@BWA D'accord, ce serait ma suggestion aussi. – rmjoia
double possible de [ Comment attraper toutes les exceptions/accidents dans une application .NET] (https://stackoverflow.com/questions/82483/how-to-catch-all-exceptions-crashes-in-a-net-app) – Sinatr