Microsoft MVP성태의 닷넷 이야기
윈도우 서비스 프로그램 - FORM 애플리케이션 감시서비스 [링크 복사], [링크+제목 복사],
조회: 3719
글쓴 사람
guest
홈페이지
첨부 파일
 

이미 만들어놓은 myForm.exe가 있습니다
시작프로그램에 등록되어 있어 매일 오후 5시~5시30분 동안 작동


만들려는 윈도우서비스프로그램 기능(testservice)

기능1> myForm.exe 프로그램을 에러를 감시한다 (매일 오후 5시~5시30분)
기능2> myForm.exe 에러 발생 시 myForm.exe를 testservice는 강제종료시킨다(Ctrl + Alt + Del써야하는 상황에서도)
기능3> 오후5시30분 이전이라면 myForm.exe를 제구동한다

**** 이때 ***

어떻게 testservice는 myForm.exe의 에러를 알아채나요? myForm핸들을 testservice에 등록?
myForm.exe에서 에러자체도 발생시키지 못하는 먹통상황(Ctrl + Alt + Del쓰는 상황에서도)까지도 대비하고 싶은데요

설계방향과 학습주제와 순서를 알고 싶습니다








[최초 등록일: ]
[최종 수정일: 3/2/2023]


비밀번호

댓글 작성자
 



2023-03-02 01시17분
간단하게는, myform에서 어떤 식으로든 오류를 전파시켜줘야 합니다. 특정 위치에 오류 로그를 쓰던가, 아니면 내부에서 오류가 발생할 때마다 특정 소켓으로 전송을 하든가... 원하는 대로 처리하시면 됩니다. 그렇게 전파해서 service 측에서 받아 처리합니다.

복잡하게라면, myform을 직접 시작하지 말고 별도의 진입 프로세스 단계를 하나 더 둡니다. 그 프로세스에서 myform을 실행하도록 만들고, 이때 Debug 모드로 진행하면 하위 프로세스의 오류를 모두 감지할 수 있습니다.

C# - DbgEng.dll을 이용한 간단한 디버거 제작
; https://www.sysnet.pe.kr/2/0/12096

.NET 스레드 콜 스택 덤프 (5) - ICorDebug 인터페이스 사용법
; https://www.sysnet.pe.kr/2/0/1249

혹은 유사하게 Profiler를 이용하는 경우도 가능합니다.

(닷넷 프로세스를 대상으로) 디버거 방식이 아닌 CLR Profiler를 이용해 procdump.exe 기능 구현
; https://www.sysnet.pe.kr/2/0/12049
정성태
2023-03-02 02시38분
[guest] 바로 이거였습니다 하지만 고수들의 영역이네요
일단 지도를 보고 하나하나 살펴봐야 겠네요
즐 하루
[guest]
2023-03-03 12시16분
[guest] 삭제된 블로그 -> http://blogs.microsoft.co.il/pavely/2015/07/27/writing-a-simple-debugger-with-dbgeng-dll/

자료 감사하지만 자료가 삭제되어 버렸네요 ㅜㅜ
[guest]
2023-03-03 12시21분
[guest] 머리가 나빠서 이해가 안되네요
특히 DbgEng.dll 블로그는 삭제되어 더 이해가 안되네요
[guest]
2023-03-03 02시20분
[guest] 죄송한데 public class UserDebugger : IDebugOutputCallbacks, IDebugEventCallbacksWide, IDisposable
저기서 부터 막히네요
[에러메시지]
Class UserDebugger cannot have multiple base classes --> 상속은 1개 class만 복수 클래스는 interface이용

오전 내 구글링인데 자료 거의 없고
http://blogs.microsoft.co.il/pavely/2015/07/27/writing-a-simple-debugger-with-dbgeng-dll/
삭제된 저기에 핵심이 있을 것같긴한데 공부를 더 해봐야 겠습니다 ㅜㅜ
[guest]
2023-03-03 04시31분
[guest] 그냥 에러발생 시 Async로 text파일에 기록하고
this.Close();로 처리하려합니다

너무 어려워서요 어쨋거나 감사드려요
[guest]
2023-03-03 06시30분
좋은 선택입니다. ^^ 저 역시 그렇게 했을 것입니다. 그나저나, 자신의 응용 프로그램에 대해 주변에 선임 급의 개발자가 있다면 잘 상담해 보세요. 제가 자세한 내부 사항은 모르지만, 아마 저라면 서비스 구현 없이 myform 하나로 끝냈을 것입니다.

참고로 본문의 경우 소스 코드를 github에 모두 공개했습니다. (링크로 걸어놨는데... ^^;)
정성태
2023-03-08 08시59분
[지나가는사람] 프로그램이 먹통이 되는것까지 감안한 가장 간단한 방법은,
WndProc() 콜백 함수를 사용해서 윈도우 메세지를 주고 받는겁니다.
3초나 5초에 한번씩 계속해서 주고 받으면서 서로 살아있다는걸 확인하고
myform 프로세스가 없거나 일정 시간동안 신호가 없으면 강제로 재시작해주면 됩니다.
[guest]

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216290교재 315페이지 내용 질문 [3]
5484Syong4/16/20219849윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215346익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217134WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217459GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216522Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20218971C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20215964c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20216981POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216523사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216402디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217181등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20215822MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20215748yield 질문있습니다!! [2]
5469유호성2/6/20215309Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215702실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215574c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20215933두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216205C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20216958Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217350사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216749AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216085typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20216967C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202173829.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216408교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...