Microsoft MVP성태의 닷넷 이야기
덤프 파일 분석 관련해서 문의 드려요. [링크 복사], [링크+제목 복사],
조회: 16237
글쓴 사람
신동열 (dongyoul.shin at gmail.com)
홈페이지
첨부 파일
 

저희가 개발해서 사용하던 프로그램이 일정 시점부터 프로그램 사용중 Hang이 걸려서 먹통이 되는 현상이 발생하였습니다.
원인은 어떤 프로그램 설치(자산관리 프로그램)후 부터 이런 현상이 발생했는데 해당 프로그램을 제거하면 정상적으로 동작을 합니다.
해서 프로그램이 먹통이된 시점에 덤프를 뜨서 DebugDialg를 이용해서 확인을 했는데 분석 요약 정보에 다음과 같은 설명이 나왔습니다.
개발 하면서 Debug은 해봤지만 덤프 파일로 디버깅은 해본적이 없어서 아래 내용으로 어떻게 분석을 시작해야할지 잘 몰라서 질문을 드립니다.

0번 쓰레드가 블럭되어서 대기중이라는 말로 이해를 했구요. 이 0번 쓰레드는 CallStack을 확인해보면 주 스레드 인걸로 보입니다.
때문에 0번 스레드가 blocked 된 상태라서 프로그램이 먹통이 된거 같은데 제가 맞게 이해를 한건가요?


 
The following threads in ERP.DMP are waiting in a WaitOne
( 0 )
4.76% of threads blocked (1 threads)

  
그리고 Top 5 Threads by CPU time에 대한 정보가 다음과 같이 보이구요.

Note - Times include both user mode and kernel mode for each thread
Thread ID: 0 Total CPU Time: 00:01:04.708 Entry Point for Thread: IHKorERP+3f4e
Thread ID: 8 Total CPU Time: 00:00:01.122 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc
Thread ID: 5 Total CPU Time: 00:00:00.607 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc
Thread ID: 12 Total CPU Time: 00:00:00.546 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc
Thread ID: 14 Total CPU Time: 00:00:00.405 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc



.Net Analysis Report


CLR Information


 CLR version = 2.0.50727.8784
 Microsoft.Diagnostics.Runtime version = 0.9.2.0


.NET Threads Summary

Total Threads: 4
Running Threads: 0
Idle Threads: 4
Max Threads: 1000
Min Threads: 4

Debugger_Thread_ID |Managed Thread ID | OS Thread ID | Thread Object | GC Mode | Domain | Lock Count | Apt | Exception
        0 1     4732 2b8660 Preemptive 2b4120 0 STA
        2 2     5600 2c4300 Preemptive 2b4120 0 MTA (Finalizer)
        5 3     2936 2ed3d0 Preemptive 2b4120 0 STA
        7 5     3024 9324988 Preemptive 2b4120 0 MTA
        8 6     2408 932f488 Preemptive 2b4120 0 MTA (Threadpool Worker)
        11 9     2056 93c3288 Preemptive 2b4120 0 MTA
        12 10     4952 93c9888 Preemptive 2b4120 0 MTA (Threadpool Worker)
        13 11     4284 93ddd10 Preemptive 2b4120 0 MTA (Threadpool Completion Port)
                           13     93ee380 Preemptive 2b4120 0
        14 8     5484 9428b50 Preemptive 2b4120 0 MTA (Threadpool Worker)
                           12     125af2d8 Preemptive 2b4120 0
                           7     125afaa8 Preemptive 2b4120 0
        18 4     6084 125af6c0 Preemptive 2b4120 0 MTA (Threadpool Worker)






Thread 0 - System ID 4732



Entry point IHKorERP+3f4e
Create time 2018-07-09 오전 7:39:14
Time spent in user mode 0 Days 00:00:37.143
Time spent in kernel mode 0 Days 00:00:27.565


This thread is waiting in a WaitOne





.NET Call Stack




[[HelperMethodFrame_1OBJ] (System.Threading.WaitHandle.WaitOneNative)] System.Threading.WaitHandle.WaitOneNative(Microsoft.Win32.SafeHandles.SafeWaitHandle, UInt32, Boolean, Boolean)
mscorlib_ni!System.Threading.WaitHandle.WaitOne(Int64, Boolean)
mscorlib_ni!System.Threading.WaitHandle.WaitOne(Int32, Boolean)
System_Windows_Forms_ni!System.Windows.Forms.Control.WaitForWaitHandle(System.Threading.WaitHandle)
System_Windows_Forms_ni!System.Windows.Forms.Control.MarshaledInvoke(System.Windows.Forms.Control, System.Delegate, System.Object[], Boolean)
System_Windows_Forms_ni!System.Windows.Forms.Control.Invoke(System.Delegate, System.Object[])
System_Windows_Forms_ni!System.Windows.Forms.WindowsFormsSynchronizationContext.Send(System.Threading.SendOrPostCallback, System.Object)
System_ni!Microsoft.Win32.SystemEvents+SystemEventInvokeInfo.Invoke(Boolean, System.Object[])
System_ni!Microsoft.Win32.SystemEvents.RaiseEvent(Boolean, System.Object, System.Object[])
System_ni!Microsoft.Win32.SystemEvents.OnUserPreferenceChanged(Int32, IntPtr, IntPtr)
System_ni!Microsoft.Win32.SystemEvents.WindowProc(IntPtr, Int32, IntPtr, IntPtr)
[[InlinedCallFrame]]
System_Windows_Forms_ni!System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)
System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
System_Windows_Forms_ni!System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext)
SiS.Dev.Main.ClientManager.WindowApplicationStart()
ERPExecute.ERPAppModule.Main(System.String[])
[[GCFrame]]








[최초 등록일: ]
[최종 수정일: 8/8/2018]


비밀번호

댓글 작성자
 



2018-08-08 05시07분
네, 현상으로 봐서는 맞습니다. Wait... 메서드가 호출되었으니 기다리고 있는 중입니다.
정성태

... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
756손승휘3/24/200818667Microsoft Web Browser OCX 부분이 안전하지 않는 ACTIVEX로 IE에서 인식되어는 점 [1]
754단테3/19/200815776실행파일의 아이콘을 프로그램 적으로 변경할 수 있을까요? [1]
753신동열3/12/200816518비스타의 권한 상승 관련 질문 있습니다. [2]
751김재영3/6/200815685스레드와 비스레드간의 대기상태 순서에 대해 질문이 있습니다. [2]파일 다운로드1
752정성태3/7/200815236    답변글 [답변]: 스레드와 비스레드 간의 대기 상태 순서에 대해 질문이 있습니다. [1]
750김용현3/3/200814630스마트 클라이언트로 파일 다운로드시 파일의 크기가 0인 경우가 발생합니다. [2]
749임영한2/28/2008301912003서버에서 msxml3.dll 오류 "80070005" 문제입니다. [2]
748류재상2/27/200819259Remoting , Tcp Channel 사용시.. 외부에서 접근 보안문제... [3]
747한귀순2/20/200817600WinForm - DataGridView 소계 등 [3]
746박상영2/20/200815526리모팅 관련해서 [3]파일 다운로드1
745조승현2/20/200816207Response.Charset ANSI로 설정..하는부분이 어려워서요.. [1]
744오야2/5/200814876멤버십, 웹파트등의 생성테이블과 업무테이블간의 관계를 어떻게.. [2]
743김기룡1/29/200816704동일 이미지 판단 방법 관련 [2]파일 다운로드1
740경혜원1/28/200818106C#에서 이런게 가능 할런지요?
742정성태1/29/200816172    답변글 [답변]: C#에서 이런게 가능 할런지요? [1]
738임경훈1/25/200817018웹서비스에서 오라클DB에 연결할 때
741임경훈1/28/200816527    답변글 [답변]: 웹서비스에서 오라클DB에 연결할 때 [1]
737단테1/25/200817917안녕하세요 정성태님. C Run-time Library의 배포에 대해서 질문있습니다. [3]
736김현기1/24/200815637XML 접두어 포함한 XmlElement 작성법? [1]
735정명원1/9/200815499ActiveX 사용시 ... [2]
734제영한12/17/200715459웹서비스에서 사용자 정의 예외 사용하기 [2]
732김기룡12/3/200718503WebRequest 요청시 일본어 인코딩 관련 문의파일 다운로드1
733김기룡12/3/200714624    답변글 일어가 깨졌네요..테스트 문자 추가합니다.^^;;파일 다운로드1
739adnim1/27/200816059    답변글 [답변]: WebRequest 요청시 일본어 인코딩 관련 문의 [1]
731우기11/27/200713276[질문] clickonce 배포시 .net framework 2.0, 3.0 설치 시간 줄일 수 있는 묘수없을까요?? [1]
730김재영11/10/200714083스레드에 사용되는 함수에 값을 같이 넘기는 방법이 있습니까?? [2]파일 다운로드1
... 61  62  63  64  65  66  67  68  69  70  71  [72]  73  74  75  ...