2010-02-16 3 views
7

내 표준 리눅스 방법은 다음과 같습니다MacOSX에서 g ++ 응용 프로그램 프로파일 링? 응용 프로그램을 프로파일 링의

1) compile with g++ -pg 
2) run prog 
3) gprof 

분명히 broek가에서라도 10.5에, 나는이 상어를 사용하기로하고 gprof은. Shark가 발견 한 모든 자습서에는 XCode가 포함되어 있습니다 (반면 Makefiels 및 g ++로 빌드가 완료되었습니다).

g ++로 작성된 앱에서 상어를 사용하기위한 단계별 지침을 게시 할 수 있습니까? 당신이 정말 콜 그래프와 함수가 호출되는 횟수에 대해 알고 싶어하지 않는 등 gprof은 같은

int main() { while(1); } 

g++ blah.cpp -o blah; do I need to give it more command line arguments? 

how do I use shark here? 
+0

dtrace (instrument라고하는 GUI 프로그램 사용)를 사용해 보셨습니까? –

답변

3

계장 프로파일 특히 유용되지 않습니다 : 같은 것을 말한다. 성능 분석을 위해 샘플링 프로파일 러가 훨씬 더 유용하며, Apple의 Shark 도구 (CHUD의 일부)가 가장 좋습니다.

Shark에서 프로파일 링을위한 응용 프로그램을 빌드 할 때 Xcode를 사용할 필요가 없습니다. 저는 상어와 함께 항상 프로파일 링하는 Makefile로 빌드 된 명령 행 도구를 가지고 있습니다. 당신은 코드 내에서 Shark를 자동으로 트리거 할 수 있습니다. (다른 API가 두 가지 있습니다.) "chudRemoteCtrl"명령 줄 도구 (man chudRemoteCtrl)를 사용하거나 Shark의 실행 옵션을 구성하여 실행 경로를 설정할 수 있습니다 , 작업 디렉토리, 커맨드 라인 인수 등, 그리고 멀리 갈 수 있습니다. 상어가 분해 된 객체 코드가 아닌 소스 코드를 표시 할 수 있도록 -g으로 앱을 빌드하십시오.

Shark configuration for command line tool http://www.freeimagehosting.net/uploads/386737a1fa.jpg

1

는 여기에 내가 맥 OS X의 명령 줄에서이 작업을 수행하는 방법을 모르는, 불행하게도 relevant thread

, 그리고 난 내가 보통하자 10.6 ... 을 실행하는거야 Xcode 매직 인수 : -