실시간 컨트롤러 (Windows 7 Embedded)의 배경에서 실행되는 Windows C# 프로그램 (.net 3.5)이 있습니다.예기치 않은 프로그램 종료를 로그하는 방법
며칠 후 프로세스가 갑자기 종료됩니다. 이제 프로그램의 작업과 예외 사항을 철저히 기록하고 있습니다. 예외를 throw 할 수있는 모든 것은 try/catch로 둘러싸여 있으며 로그 파일에 기록되고 있으며 로거에 Windows 이벤트 로그에 기록되는 예외가있는 경우.
그러나 프로그램 종료를 유발할 수있는 예외를 암시하는 것은 아무것도 로그에 없습니다.
프로그램 종료를 포착하고 기록하는 다른 기술이 있습니까?
지금까지 온라인 디버그 세션에서 버그를 재현하지 못했습니다.
프로그램 자체는 매우 간단합니다. 두 개의 스톱워치를 사용하고 스레드를 생성하여 실시간 프로그램과 통신합니다. 'alive'부울, 'error'정수를 쓰고 다른 정수를 읽습니다. 로그 파일 크기는 10MB로 제한됩니다. 크기에 도달하면 파일의 이름이 날짜로 바뀌고 새 파일이 열립니다. 30 일보다 오래된 파일은 삭제됩니다.
Windows 이벤트 로그를 검사했지만 직접 프로그램과 관련된 내용을 찾을 수 없습니다.
무엇을 하시겠습니까?
봐는, mayby 뭔가를 잡을 수 있습니다. @BWA 동의 – BWA
, 즉 너무 내 제안 할 것이다.의 – rmjoia
가능한 중복을 [ NET 응용 프로그램에서 모든 예외/충돌을 잡는 방법] (https://stackoverflow.com/questions/82483/how-to-catch-all-exceptions-crashes-in-a-net-app) – Sinatr