2012-05-14 3 views
0

성능 분석 및 디버깅을위한 스레드 컨텍스트 스위치, 어쩌면 세마포 상태, 이벤트 등을위한 도구를 찾고 있습니다 ... 저는 임베디드 환경에서 그런 도구를 사용했지만 나는 지금 Windows 또는 Linux 플랫폼에서 동일한 것을 찾고 있습니다. 프로파일 링하려는 응용 프로그램은 C++ 다중 스레드 응용 프로그램입니다. 누구에게도 추천 도구가 있습니까?스레드 컨텍스트 스위치를 그릴 도구

+2

인텔 vtune을 살펴 보았습니까? – PlasmaHH

+0

당신과 Hristo는 그것을 언급 했으므로 나는 그것을 시험해 보았습니다. 감사. – sherve

답변

2

(그것은 또한 그 이름에도 불구하고 리눅스에서 실행을)는 다중 스레드 응용 프로그램의 성능 문제에 대한 많은 통찰력을 제공합니다. Oracle Solaris Studio 외에 은 여전히 ​​무료입니다..

Intel VTune Amplifier XE (이전의 Intel Thread Analyzer라고 함)은 Linux 및 Windows에서 사용할 수 있습니다.

+0

VTune에 대해 언급 한 다른 게시물을 보았지만 플로팅을 잘했다고 생각하지 않았습니다. 사실 꽤 좋습니다. 특히 '잠금 및 대기 분석'. 나는 그것을 사용하고 일을 마쳤다. 선택한 도구임을 확인해 주셔서 감사합니다. – sherve

+1

Intel VTune Amplifier XE는 컨텍스트 스위치를 계획하지 않습니다. 적어도 시간 표시 막대에 표시되지는 않지만 켜기 옵션이 없으며 설명서에는이 기능에 대한 설명이 없습니다. 그게 * 컨텍스트 스위치를 감지하지만 더 정확한 스레드 실행 시간을 표시하는 것입니다. 타임 라인에 * 표시되어있는 것은 동기화 소유권 흐름입니다. –

0

Windows 성능 모니터?

perfmon.exe

이 나는 ​​대부분의 Windows 플랫폼에서 표준이고 컨텍스트 스위치 및 훨씬 더에 대한 정보를 제공합니다 생각합니다.

Windows 전용 난 두려워.

0

아마 이것은 당신이 생각하고있는 도구가 아니지만 간단하고 빠르며 유용 할 수 있습니다. GDB를 사용하는 경우

, 당신은 입력 할 수 있습니다

info threads 

는 스레드가 실행중인에 대한 정보를 볼 수 있습니다. 다음으로 선택된 스레드로 전환하고 그것이 볼 수있는 역 추적, 인쇄 할 수 있습니다

리눅스와 솔라리스 오라클 솔라리스 스튜디오에서 오라클 스레드 분석기를 들어
thread <thread-id> 
bt 
+0

컨텍스트 스위치를 감지하는 데이 스위치를 어떻게 사용할 수 있습니까? – JohnTortugo

1

xperf 도구를 사용하여 컨텍스트 스위치를 수집하고 플로팅 할 수 있습니다. 이 도구는 Windows Performance Analysis Developer Center의 일부인 무료 도구입니다. 나에게 잘 해줬고 스크린 샷을 참조하십시오. xperf displaying context switches for threads of my app

관련 문제