안녕하세요.
특정 시각에 기존의 프로세서를 종료하고 재구동해야 하는 경우가 있어서 타이머 조건 내에서 application.restart()를 하거나 application.exit()를 한 후 윈도우 작업 스케쥴러에서 실행하는 방법으로 시도를 해보았는데요.
잘 될때는 잘 되다가도 간헐적으로 BEX 또는 CRL20r3 등의 에러 메시지를 포함한 메시지 박스를 띄우고 프로세서가 죽지 않은 상태로 있게 됩니다.
위 에러 메시지로 무엇을 의심 해볼 수 있는지 또 무엇이 문제인지 덤프 파일을 만들어서 볼 수 있는 방법이 궁금합니다.
사용환경은 윈도우7 x64이고 문제가 되고 있는 프로그램은 x86(32비트)로 빌드 되었습니다.
그리고,
try/catch로 조용히 사라진 예외를 파악하고 싶다면?
https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&pageno=0&wid=10965&rssMode=1&wtype=0
코드(C#)를 통한 풀 덤프 만드는 방법
https://www.sysnet.pe.kr/2/0/995
C# - 프로세스 스스로 풀 덤프 남기는 방법
https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&pageno=0&wid=1485&rssMode=1&wtype=0
등을 봤는데도 잘 이해가 안되는 부분이 있는데요.
private void button1_Click(object sender, EventArgs e)
{
int pid = Process.GetCurrentProcess().Id;
MinidumpWriter.MakeDump(@"c:\temp\test.dmp", pid);
}
이 부분에서
int pid = Process.GetCurrentProcess().Id;
MinidumpWriter.MakeDump(@"c:\temp\test.dmp", pid);
이 코드를 program.cs 에서
try
{
메인 프로세스 실행
}
catch
{
int pid = Process.GetCurrentProcess().Id;
MinidumpWriter.MakeDump(@"c:\temp\test.dmp", pid);
}
이렇게 처리해줘도 상관없는 부분인가요?
[최초 등록일: ]
[최종 수정일: 11/1/2017]