Windows에서 동기화 객체 (Mutex, Events, Semaphores)를 모니터링하는 도구가 있습니까?

StackOverflow https://stackoverflow.com/questions/801284

문제

Windows에서 프로세스 동기화 객체의 상태를 모니터링하는 도구가 있습니까? 즉.

  • 이벤트/mutex : 신호 전지 신호
  • 세마포어 : 카운트

더 나은 방법으로, 어떤 스레드가 무엇을했는지 로그를 작성하는 것이 좋습니다. "스레드 #5421 신호 이벤트 -StreeVt"

도움이 되었습니까?

해결책

메모리 유효성 검사기

프로세스 탐색기

핸들 사용법 : 핸들 -S ==> Print count of each type of handle open.

편집하다:

프로세스 탐색기를 사용하여 프로세스 동기화 객체의 상태를 모니터링하는 방법.

열린 프로세스 탐색기

  • 프로세스 섹션에서 EXE를 클릭하십시오 (예 : MyApp.exe)
  • 딸깍 하는 소리 Show Lower Pane (또는 누릅니다 Ctrl+L). 여기에는 모든 동기화 객체가 표시됩니다. (예 : Myevent)
  • 동기화 객체를 마우스 오른쪽 버튼으로 클릭하고 (예 : Myevent의 경우) 컨텍스트 메뉴에서 속성을 클릭하십시오.
  • 이것은 동기화 객체의 세부 사항을 가져옵니다. 에서 Details 탭, 당신은 볼 수 있습니다

    Event Info (동기 객체 인 경우 이벤트 인 경우) : 상태에 대한 정보를 제공합니다 (동기화 객체가 신호를 받는지 여부)

    Semaphore info (동기 대상이 세마포어 인 경우) : 세마포어 수를 제공합니다.

다른 팁

인텔의 스레드 체커와 병렬 스튜디오를 살펴보십시오. 대부분의 도구는 Visual Studio 위에 있습니다.

http://software.intel.com/en-us/intel-vtune/

http://software.intel.com/en-us/intel-thread-checker/

http://software.intel.com/en-us/intel-vtune/

스레드 유효성 검사기 당신이 묘사하는 일을합니다.

스레드, 잠금 상태, 개별 스레드 개체를 모니터링합니다. 인텔의 스레드 검사기보다 훨씬 빠르지 만 세부 수준이 다릅니다.

WindBG는 도움이 될 수 있지만 사용 방법을 배워야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top