WPF 프로그램 튕기는 현상

안녕하세요.

WPF로 윈도우 프로그램을 개발하고 있습니다. 그런데 노트북이나 데스크탑에서
원인모를 이유로 실행중이던 프로그램이 그냥 팍 꺼저버립니다.

개발환경은 아래와 같습니다.

  1. NET Framework 4.6
  2. 모뎀으로 문자전송 및 수신(M2M 모뎀, USB 시리얼 통신)

오류가 날만한 지점에 모두 예외 처리하고 로그처리하였고, 그것으로도 로그가 남지 않아서 App root 지점에 아래 오류처리도 하였습니다.

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

DispatcherUnhandledException += App_DispatcherUnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;

이렇게 했는데도 아무런 로그도 남지 않고 튕기네요…
혹시 이런 경험이 있거나 의견있으시면 조그만한 힌트라도 좋으니 답변 부탁드립니다. 감사합니다.

Windows 이벤트 뷰어에는 로그가 남아 있을 것 같습니다.

2 Likes

갓 이벤트 뷰어.

1 Like

로그 이름: Application
원본: Application Error
날짜: 2024-05-06 오전 8:53:44
이벤트 ID: 1000
작업 범주: (100)
수준: 오류
키워드: 클래식
사용자: 해당 없음
컴퓨터: DESKTOP-5MRRG2J
설명:
오류 있는 응용 프로그램 이름: 버전: 1.0.0.20, 타임스탬프: 0x85f768f9
오류 있는 모듈 이름: unknown, 버전: 0.0.0.0, 타임스탬프: 0x00000000
예외 코드: 0xc0000005
오류 오프셋: 0x22fef7b8
오류 있는 프로세스 ID: 0x1fd4
오류 있는 응용 프로그램 시작 시간: 0x01da9d2ce63500ea
오류 있는 응용 프로그램 경로: C:\Program Files (x86)
오류 있는 모듈 경로: unknown
보고서 ID: 78e0f60c-947f-40c7-8fc0-46a42d4274d2
오류 있는 패키지 전체 이름:
오류 있는 패키지에 상대적인 응용 프로그램 ID:
이벤트 Xml:



1000
0
2
100
0
0x80000000000000

17081


Application
DESKTOP-5MRRG2J



MainPro.exe
1.0.0.20
85f768f9
unknown
0.0.0.0
00000000
c0000005
22fef7b8
1fd4
01da9d2ce63500ea
C:\Program Files (x86)</Data>
unknown
78e0f60c-947f-40c7-8fc0-46a42d4274d2





이런식으로 이벤트는 있는데 그냥 특별한건 못찾겠더라구요 …

혹시 외부 DLL 참조 해서 쓰실까요 ?
간혹 외부 DLL 에서 문제 생기면 Main App 을 죽이는 경우가 발생 합니다.

C# 소스에 미니덤프 로직 적용 하고
[procdump.exe -e 프로그램.exe] 로 파일 감시 해서 에러 덤프 생성 하고
생성된 덤프파일 클릭하면 에러시점으로 소스 디버깅 됩니다.
아래 링크 참조하세요

miniDump 생성 관련 문의드립니다. - :interrobang: 프로그래밍 언어 Q&A / C# Q&A - 닷넷데브 (dotnetdev.kr)

2 Likes

외부 DLL은 사용하지 않습니다.

덤프파일 생성되게 하긴 했는데. pdb 파일을 저장을 못했네요 ㅠㅠ

procdump.exe의 매개변수를 바꺼서 감시 해보세요

장비연동 경험 상 C# 소스에 미니덤프 로직이 작동 안되더라도

procdump.exe 에서는 해당 프로그램 감시해서 .dmp 파일 생성이 되거든요

.pdb 파일은 디버거 심볼이라 exe 파일이랑 같이 있어야 .dmp(덤프파일) 생성 및 디버깅이 됩니다.

ProcDump - Sysinternals | Microsoft Learn

1 Like

여기가 실마리가 되지 않을까요?

1 Like

응용프로그램 이벤트 항목 중 올려주신 Application Error 근처에 .NET Runtime 원본인 항목은 없었나요?

1 Like