먼저 Lock 상황을 확인 했습니다.
일단 해당 Lock 중 Contention Count 가 발생한 Lock 위주로 원인을 찾아 갑니다.
이렇게 발생한 lock 중에 kv에 “KeWaitForResource” 에 주목합니다.
설명 : ExpWaitForResource(IN PERESOURCE Resource, 00602 IN PVOID Object)
The ExpWaitForResource routine performs a wait on the specified resource.
@param Resource : Pointer to the resource to wait on.
@param OwnerThread : * Pointer to object (exclusive event or shared semaphore) to wait on.
자 원인이 되는 리소스를 찾아가기 위해서 이 함수가 호출 될 당시의 변수 값을 찾아야 합니다.
해당 스레드와 프레임으로 이동합니다.
해당 함수의 변수를 확인 합니다.
하지만 보는 그림과 같이 심볼이 없어서 변수를 확인 할 수 없습니다.
변수 중 object에 해당하는 Thread 명을 확인하여 찾아가면 됩니다.
이 후… 동일한 방식으로 원인을 추적합니다.
하지만 심볼이 없기 때문에 여기서 추적을 종료합니다.
그리고 해당 함수의 data type을 확인 합니다.
Data Type 을 통해서 원인이 되는 이미지 들을 추적 할 수 있습니다.