예상치 못한 모노 서비스 종료를 진단하는 방법은 무엇입니까?

예상치 못한 모노 서비스 종료를 진단하는 방법은 무엇입니까?

저는 .net 4.0 모노 서비스를 작성하고 이를 Raspberry Pi에서 호스팅했습니다.

이는 다음 코드가 포함된 .sh 파일을 통해 시스템 시작 시 실행됩니다.

cd /var/supernovaServer
mono-service -l:/var/supernovaServer/snserver.lock /var/supernovaServer/snserver.exe

일정 시간, 때로는 몇 시간, 때로는 며칠이 지나면 프로세스가 종료되고 snserver.lock 파일은 그대로 유지됩니다. StreamWriter를 통해 작성한 사용자 정의 로깅 코드가 마지막 몇 개의 메시지를 플러시하지 않는 것 같고, 확인해 보니 사용자 정의 로그 파일이 불완전한 것 같습니다.

이 문제를 진단하고 서비스 종료를 방지하려면 어떤 조치를 취해야 합니까? 즉, 볼 수 있는 모노 로그 파일이 있습니까? 나는 아직 Linux를 처음 접했기 때문에 어떤 조언이라도 감사하겠습니다.

답변1

애플리케이션의 PID에 대해 strace를 실행하고 로그를 출력할 수 있습니다 strace(몇 시간 또는 며칠이 걸릴 경우 디스크를 많이 사용하게 될 준비를 하십시오).

다른 전략에서는 GDB 디버거를 사용하거나 다음 옵션 mono으로 시작할 수 있습니다.--debug

http://www.mono-project.com/docs/debug+profile/debug/

관련 정보