0

제 4 자 플러그인을 사용하는 타사 도구를 사용하고 있습니다. 경우에 따라 도구가 시작될 때 정지됩니다. 스택 추적을 보면 WaitForSingleObject에서 몇 개의 스레드가 대기하고 있으며 서로를 차단하고 있다는 것을 알 수 있습니다. 스레드 중 일부는 3rt 파티 도구에서 시작하고 일부 스레드는 제 4 자 플러그인에서 시작합니다.두 개의 타사 실행 파일에 매달려있는 동기화 객체 인식

제가하고 싶은 것은 제 3 자 도구 공급 업체에게 가장 상세한 불만 사항을 제기하는 것입니다. 제 3 자 도구 공급 업체가 잘못되었다고 가정 할 때 (해당 세부 정보를 얻으려는 지역 지원을 신뢰하지 않습니다). 이를 위해, 나는 싶습니다

  1. 가 동기화 개체가 현재 그 동기화가 현재 손에

도구 개체를 만든 사람 알아 VS2005, WinDbg가 있습니다

  • 에 기다렸다하는지 알아보세요 및 프로세스 탐색기. OS는 Window 7 64 비트입니다. 어떤 제안?

  • 답변

    1

    저는 WinDBG를 사용했기 때문에 몇 가지 시도해 볼 수 있습니다.

    .symfix C : \는 .reload

    을 websymbols 그리고 당신의 스택 프레임의 깊이가 마약 :

    .kframes 1000

    그럼 내가 가고 싶어 먼저 당신의 기호를 잘 얻는 것입니다 ! uniqstack, 중복 스택을 제거하고 당신에게 시간을 절약 할 수있는 : 그럼 오전의

    -b uniqstack

    을! 따로 따로 골라서 순환 의존을 찾으려는 시도. 불행히도 행글라이더에 대한 자세한 정보없이 많은 지침을 제공하기가 어렵습니다. 또한! 잠금을 시도해 볼 수 있습니다. 중요한 부분 교착 상태에 대해서만 도움을 줄 것입니다.

    커널 디버그 세션에서 기다리고있는 동기화 객체를 쉽게 파악할 수 있습니다. 사용자 모드에서 핸들을 추적하고 각 핸들을 처리해야합니다. exe 32 비트 또는 64 비트입니까?

    개체를 만든 사람을 알아내는 관점에서! htrace를 통해 핸들 추적을 설정하고 시나리오를 실행 한 다음 추적 로그를 덤프하는 것이 가장 좋습니다.

    행운을 빌어 요,

    -scott