태그 : Debugging 요약보기전체보기목록닫기

1 2 3 4 5 6 7

AppInit_DLLs 에 winmm.dll이 어인일로.

다중(Multi) Threads 환경에서 static type을 사용하는 것에 대한 우려

.." Use the static modifier to declare a static member, which belongs to the type itself rather than to a specific object. The static modifier can be used with classes, fields, methods, properties, ...

JIT_NewCrossContext에서의 Exception

Finalizer 쓰레드에 의한 메모리 누수 현상

Finalizer Thread는 CLR 메모리 덤프에서 볼 수 있는 특이한 Thread 중에 하나이다. 오브젝트가 Garbage Collected 될 때, 오브젝트의 Finalize Method는 Finalizer에 의해서 수행이 된다. 일반적으로 이러한 Finalization이 필요한 오브젝트는 File 이나 Unmanaged Memory와 같은 Un...

SendMessage호출에 의한 UI Thread Hang 현상

Internet Explorer의 화면이 멈추는 것과 같은 UI Thread Hang에는 여러 가지 원인이 있겠지만, High CPU가 아니라면, DLL LoaderLock 이나 RPC Calling에 의한 Blocking 그리고, SendMessage 에 의한 Sync Call Blocking 등이 대표적이 아닐까 한다. SendMessage는 Syn...

Monitor Lock에 의한 hang 현상 debugging

.NET에서 lock 을 목적으로 가장 많이 사용되는 것이 Monitor 가 아닐까 한다. (사실 Multiple Processes사이에서의 Lock이 필요하다면, Mutex를 이용하는 데, 그렇지 않은 경우라면 좀처럼 Mutex를 이용하지 않는 다. 이유는 대략 Monitor에 비해 50여배정도의 low Performance를 나타낸다고 한다. –C#...

일부 레지스터의 사용에 관하여

레지스터는 CPU 연산에 필요한 데이타를 사용하기 위한 저장고이다. IA32 체계에서 EAX, EBX ECX, ESI, EDI 등등의 명칭으로 사용되고 있는 데, 각 register가 사용되는 용도가 구분되어 있다. (참고: http://ko.wikipedia.org/wiki/IA32#.EB.A0.88.EC.A7.80.EC.8A.A4.ED.84.B0) ...

메시지(Window Message) 따라 디버깅

 Message 기반의 Window에서 특히 MFC Application 같은, Debugging 시에 특정 Button을 Click 하면 Button Click에 대한 Function Call이 호출되고 어쩌구저쩌구 하는 경우, 간혹, 정확한 정보를 모르는 상태에서 Debugging을 하다 보면 난감할 때가 있다. 이런 경우, 가장 유용한 방...

성능로그를 통한 GC에 의한 High CPU 확인

Garbage Collector(GC)는 .Net Framework / CLR 에서 Memory를 관리해주는 Module 이다. 그러므로, 개발자의 의도와 상관없이 적절한 시점에 GC가 수행하고, 그것도 비동기적으로 발생하며, 그에 의해 메모리를 효율적으로 사용할 수 있도록 해준다. 문제는 GC가 비동기적으로 수행됨에 의해 임의의 시점에 GC의 수행과 ...

Internet Explorer+VB Runtime에서의 Crash 현상

사실 아직까지 VB runtime이 Internet Explorer에 올라가 있다는 것은 그리 놀랍지 않다. COM개발이 도입이 되면서 ActiveX Control의 개발은 VB가 대체로 대세였다. 개발의 속도 면에서 그리고, User Interface를 쉽게 제공해주는 면에서 거부할 수 없는 선택 이였다. 하지만, VB runtime의 태생적인 Thr...
1 2 3 4 5 6 7