Linux에서 사용할 수있는 무료 저지대 (통계적) 프로파일 러는 무엇입니까?

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

문제

바람직하게는 우분투 저장소에서.

도움이 되었습니까?

해결책

다른 사람들은 언급했습니다 Oprofile; 현대적인 Linux 설치에 대한 전체 시스템 통계 프로파일 링의 경우 실제로는 흔들립니다.

더 유쾌한 도구 (커널 지원이 필요하지 않으므로 이전 버전의 Linux 또는 비 Linux 운영 체제에서 작동 함)는 다음과 같습니다. gnu gprof, 포함 된 binutils (따라서 의심 할 여지없이 개발 환경에 이미 설치되어 있습니다).

사용 gprof, 단지 응용 프로그램을 컴파일하면됩니다 -pg 논쟁 gcc; 호출 된 파일 gmon.out 프로그램 종료 후에 만들어집니다 gprof 그런 다음이 파일을 분석하는 데 사용할 수 있습니다.

다른 팁

간단하지만 효과적인 기술은 GDB에 따라 프로그램을 실행하고 Sigint 신호를 처리하는 것입니다. 프로그램이 실행되는 동안 Control-C 등을 입력하여 Sigint를 수동으로 생성하고 중단되는 동안 통화 스택을 기록하십시오. 프로그램은 주관적으로 느려지는 반면 10 또는 20과 같이 여러 번 수행하십시오. 이것은 시간이 어디로 가는지에 대한 아주 좋은 아이디어를 줄 것입니다.

이 방법은 정확한 타이밍을 제공하지 않지만 가장 많은 비용이 드는 통화 지침을 포함한 지침을 정확하게 찾습니다.

Linux에서 실행되는 C ++ 코드를 프로필하려면 어떻게해야합니까?

Sysprof Oprofile과 유사한 좋은 프로파일 러입니다 (GTK GUI도 있습니다). Ubuntu 저장소에서 사용할 수 있습니다. 커널 레벨 프로파일 러이며 GPROF와 달리 커널 모듈이 필요하지만 GPROF와 달리 멀티 스레드 애플리케이션을 프로파일 할 수 있습니다.

거기 있습니다 Oprofile. 사용하기가 어렵지는 않지만 다소 버그가 있습니다.

나는 Oprofile과 함께 좋은 성공을 거두었습니다 (http://oprofile.sourceforge.net/news/) Ubuntu 저장소에서도 제공됩니다. 재 컴파일이 필요하지 않으며 공유 객체 등에 대한 제한이 없습니다.

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