gprof
¿ÍÀÇ
ºñ±³
GNU gprof
¿Í ¹öŬ¸® À¯´Ð½º gprof
´Â µ¿ÀÏÇÑ µ¥ÀÌÅÍ ÆÄÀÏ
`gmon.out'À» »ç¿ëÇÏ°í, º»ÁúÀûÀ¸·Î µ¿ÀÏÇÑ Á¤º¸¸¦ Á¦°øÇÏÁö¸¸, ´ÙÀ½°ú
°°Àº Â÷ÀÌ°¡ ÀÖ´Ù.
gprof
Àº ±âº» ºí·Ï ½ÇÇà Ä«¿îÆ®(basic-block execution counts)¿Í
ºñ½Ç½Ã°£ È÷½ºÅä±×·¥(non-realtime histogarm)À» Áö¿øÇÏ´Â ½ÅÇü ÀÏ¹Ý ÆÄÀÏ Æ÷¸ËÀ»
»ç¿ëÇÑ´Ù. gprof
´Â magic cookie¿Í ¹öÀü ¹øÈ£¸¦ °¡Áö°í ½ÅÇü ½ºÅ¸ÀÏÀÇ
ÆÄÀÏÀ» ½±°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÀÌÀü BSD ½ºÅ¸ÀÏ ÆÄÀϵµ ÀÐ¾î µéÀÏ ¼ö´Â ÀÖ´Ù.
ÇÁ·ÎÆÄÀϸµ µ¥ÀÌÅÍ ÆÄÀÏÀÇ Æ÷¸Ë ¼½¼Ç ÂüÁ¶
gprof
´Â ÇÔ¼öµé¸¦ ºÎ¸ð(parent)¿Í
ÀÚ½Ä(child)À¸·Î ¸®½ºÆ®ÇÑ´Ù. ºÎ¸ð¿Í ÀڽĿ¡´Â Àç±Í È£ÃâÀÇ È½¼ö¸¦ ³ªÅ¸³»´Â
calls
Çʵ带 °¡Áö°í ÀÖ´Ù. GNU gprof
¿¡¼´Â ÀÌ·¯ÇÑ
¶óÀεéÀ» »ý·«ÇÏ°í ÇÁ¶óÀ̸Ӹ® ¶óÀο¡ Àç±ÍÈ£ÃâÀÇ È½¼ö¸¦ ±â·ÏÇÑ´Ù.gprof
˼
ÇÔ¼ö a ¸¦ È£ÃâÇÏ´Â ÇÔ¼ö(caller)ÀÇ ¼ºê·çƾ Ç׸ñ¿¡´Â ÇÔ¼ö a¸¦ Æ÷ÇÔ½ÃŲ´Ùgprof
Àº `from to'´ë½Å¿¡, `from/to'ÇüÅÂÀÇ
¿É¼Ç ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ´Â `-k' ¿É¼ÇÀÌ ÀÖ´Ù.
gprof
ÀÌµé ±âº» ºí·ÏµéÀÇ Ä«¿îÆ®¸¦ ¸ðµÎ Ãâ·ÂÇÑ´Ù. °¢°¢ÀÇ
±âº» ºí·ÏÀÇ Ä«¿îÅÍ´Â Äĸ¶ ','·Î ºÐ¸®µÈ´Ù.gprof
Àº Å×ÀÌºí µÚ¿¡ °£·«ÇÑ ¼³¸íÀÌ ¿Àµµ·Ï Ãâ·Â Æ÷¸ËÀ» °³¼±ÇÏ¿´´Ù.