miniDump 생성 관련 문의드립니다.

안녕하세요 C# -winform FA개발자입니다.

32비트로 컴파일시 miniDump 문제가 있어서 문의 드립니다.

  • 64비트로 컴파일 하면 minidump에서 문제된 시점을 정확히 보여줍니다(이상 없음)

  • FA 특성상 DLL들이 32비트만 지원되는 경우가 많아서 32비트로 컴파일 해야 하는데
    32비트 컴파일시 minidump에서 문제된 내용을 못 보여주는 경우가 발생합니다.

[64비트로 컴파일 한 경우 = Dump-OK]
64비트컴파일_1
64비트컴파일_2

[32비트로 컴파일 한 경우 = Dump-OK]
32비트컴파일OK_1
32비트컴파일OK_2

[32비트로 컴파일 한 경우 = Dump-NG]
32비트컴파일_1
32비트컴파일_2

위에 그림을 보면 덤프 예외코드가 있는 경우는 해당 시점에 어떤 문제가 있는지 보여줍니다.
32비트의 경우 덤프 예외코드가 없는 경우가 있고 이 경우는 해당 내용을 알 수가 없습니다.

위에 [32비트로 컴파일 한 경우 = Dump-NG]의 경우 [64비트로 컴파일 한 경우 = Dump-OK]와 같은 내용을 단지 32비트로 컴파일 한 경우 입니다.

32비트에서는 어쩔 수 없는 건가요? 답변 좀 부탁 드립니다…

miniDump관련 소스파일은 아래 사이트 참고 바랍니다.

디버거에서 덤프 파일 사용 - Visual Studio (Windows) | Microsoft Docs

[C#] 덤프 파일 사용 방법(.pdb 디버깅) : 네이버 블로그 (naver.com)

1개의 좋아요

마지막 덤프 분석이 약 3년 전이라 정확히 기억나지는 않지만 도움이 되실까 싶어 남겨요.

결론부터 말씀드리면 x86으로 덤프를 했는지 x64로 덤프 했는지가 중요했던 것으로 기억합니다.
좀더 자세히 말씀드리면, 작업관리자에서 덤프 파일을 생성하시면 OS 환경에 따라 x64 또는 x86 고정으로 덤프 파일이 만들어지는데요.
image

원하는 비트의 덤프파일을 생성하려면 Procdump을 다운 받아 x86용과 x64용 중 환경에 맞는 exe 파일로 덤프 파일을 생성하시면 됩니다.
아래 링크에 다운로드와 사용법이 같이 있으니 테스트 해 보시면 좋을 것 같아요.

제가 경험했던 동일한 이슈이길 바랍니다.
행운을 빌어요 :slight_smile:

3개의 좋아요

procdump.exe -t Dump.exe 로 파일 감시해봤는데

[16:19:03] The process has exited.
[16:19:03] Dump count not reached.
뜨면서 종료 되네요

ProcDump 관련 더 찾아보고 테스트 해봐야겠습니다.

답변 감사합니다.

1개의 좋아요

procdump.exe -e Dump.exe
-e 로 감시하면 32비트 x86도 dump 추적이 되네요

해당 방법으로 로직 구성하면 될거 같습니다.

답변 감사합니다.

2개의 좋아요