레이블이 gprof인 게시물을 표시합니다. 모든 게시물 표시
레이블이 gprof인 게시물을 표시합니다. 모든 게시물 표시

Linux gprof 를 이용한 소스코드 프로파일링

# 소스코드의 함수별 경과시간을 프로파일링 할때 가장 간단한 방법 중의 하나가 gprof 를 이용한 것이다.
# 우선 컴파일과 링크시 -pg 옵션을 준다.
# 만약 Makefile 을 사용해서 컴파일 후 링크가 이뤄진다면 각각 -pg 옵션을 준다.
gcc -pg -o ysoftman ysoftman.c

# gprof 을 이용하여 프로파일링 결과를 출력한다.
gprof ysoftman > profile.txt

# 만약 실행프로그램이 인자를 입력받는 경우라면 우선 실행 프로그램만을 실행한다.
ysoftman -arg1 -arg2

# 그러면 현재 디렉토리에 실행프로그램(ysoftman)에 대한 gmon.out 이라는 프로파일링 정보파일이 생성된다.

# 아래와 같이 실행프로그램과 프로파일링 정보파일을 사용하여 프로파일 결과를 출력한다.
gprof ZoneAnal gmon.out > profile.txt