Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ arm-linux-androideabi-gprof ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
gprof - ํธ์ถ ๊ทธ๋ํ ํ๋กํ ๋ฐ์ดํฐ ํ์
๊ฐ์
gprof [ -[abcDhilLrsTvwxyz] ] [ -[ACEEfFJnNOpPqQZ][name] ]
[ -NS dirs ] [ -NS[NUM] ] [ -k ์์๋ถํฐ ]
[ -๋ฏธ๋์ ์ต์ ๊ฐ์ ] [ -NS ์ง๋ ํ์ผ ] [ -NS ํ ์ด๋ธ ๊ธธ์ด ]
[ --[no-]์ฃผ์์ด ์๋ ์์ค[=name] ]
[ --[no-]์คํ ํ์[=name] ]
[ --[no-]ํ๋ฉด ํ๋กํ[=name] ] [ --[no-]๊ทธ๋ํ[=name] ]
[ --[no-]์๊ฐ=name] [ --๋ชจ๋ ๋ผ์ธ ] [ --brief ]
[ --๋๋ฒ๊ทธ[=์ํ] ] [ --ํจ์ ์์ ]
[ --ํ์ผ ์์ ์ง๋ ํ์ผ ] [ --๋๋ ํ ๋ฆฌ-๊ฒฝ๋ก=dirs ]
[ --display-unused-functions ] [ -- ํ์ผ ํ์ =name ]
[ --file-info ] [ --help ] [ --line ] [ --inline-ํ์ผ ์ด๋ฆ ]
[ --์ต์ ๊ฐ์=n ] [ --no-static ] [ --print-path ]
[ --separate-files ] [ --static-call-graph ] [ --sum ]
[ --ํ ์ด๋ธ ๊ธธ์ด=๋ ] [ --์ ํต ] [ -- ๋ฒ์ ]
[ --๋๋น=n ] [ --๋นํจ์ ๋ฌด์ ]
[ --demangle[=STYLE] ] [ --no-demangle ]
[--์ธ๋ถ ๊ธฐํธ ํ ์ด๋ธ=์ด๋ฆ]
[ ์ด๋ฏธ์ง ํ์ผ ] [ ํ๋กํ ํ์ผ ... ]
๊ธฐ์
"gprof"๋ C, Pascal ๋๋ Fortran77 ํ๋ก๊ทธ๋จ์ ์คํ ํ๋กํ์ ์์ฑํฉ๋๋ค. ์ ํจ๊ณผ
ํธ์ถ๋ ๋ฃจํด์ ๊ฐ ํธ์ถ์์ ํ๋กํ์ ํตํฉ๋ฉ๋๋ค. ํ๋กํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค
ํธ์ถ ๊ทธ๋ํ ํ๋กํ ํ์ผ(gmon.out default)๋ ๋ค์๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ํด ์์ฑ๋ฉ๋๋ค.
๋ก ์ปดํ์ผ -ํ์ด์ง "cc", "pc" ๋ฐ "f77" ์ต์ . NS -ํ์ด์ง ์ต์ ๋ ๋งํฌ
ํ๋กํ์ผ๋ง์ ์ํด ์ปดํ์ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ ๋ฒ์ . "Gprof"๋ ์ฃผ์ด์ง ์ฝ๊ธฐ
๊ฐ์ฒด ํ์ผ(๊ธฐ๋ณธ๊ฐ์ "a.out")์ด๋ฉฐ ํด๋น ๊ธฐํธ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํฉ๋๋ค.
๋ฐ ํธ์ถ ๊ทธ๋ํ ํ๋กํ gmon.out. ๋ ์ด์์ ํ๋กํ ํ์ผ์ด ์ง์ ๋ ๊ฒฝ์ฐ
"gprof" ์ถ๋ ฅ์ ์ฃผ์ด์ง ํ๋กํ ํ์ผ์ ์๋ ํ๋กํ ์ ๋ณด์ ํฉ๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
gcc 2.95.x ๋๋ 3.0์ ์ฌ์ฉํ์ฌ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ปดํ์ผํ๋ ๊ฒฝ์ฐ ๋ค์์ ์ถ๊ฐํด์ผ ํ ์ ์์ต๋๋ค.
-fprofile-ํธ ํธ์ถ ๊ทธ๋ํ๊ฐ ์ ๋๋ก ํ์๋๋๋ก ์ปดํ์ผ ๋ช ๋ น์ค์
gmon.out์ ์ ์ฅ๋ฉ๋๋ค.
"Gprof"๋ ๊ฐ ๋ฃจํด์ ์์๋ ์๊ฐ์ ๊ณ์ฐํฉ๋๋ค. ๋ค์์ผ๋ก ์ด ์๊ฐ๋ค์
ํธ์ถ ๊ทธ๋ํ์ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค. ์ฃผ๊ธฐ๊ฐ ๋ฐ๊ฒฌ๋๊ณ
์ฃผ๊ธฐ๋ ์ฃผ๊ธฐ์ ์๊ฐ์ ๊ณต์ ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง๋๋ค.
๋ถ์์์ ์ฌ๋ฌ ํํ์ ์ถ๋ ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
XNUMXD๋ดํ์ ํ๋ซ ์ค๊ณฝ ํ๋ก๊ทธ๋จ์ด ๊ฐ ๊ธฐ๋ฅ์ ์ผ๋ง๋ ๋ง์ ์๊ฐ์ ์๋นํ๋์ง ๋ณด์ฌ์ค๋๋ค.
ํด๋น ํจ์๊ฐ ํธ์ถ๋ ํ์์ ๋๋ค. ์ด๋ค ๊ธฐ๋ฅ์ด ๊ฐ์ฅ ๋ง์ด ์๋ชจ๋๋์ง ์๊ณ ์ถ๋ค๋ฉด
์ฃผ๊ธฐ, ์ฌ๊ธฐ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ๋์ด ์์ต๋๋ค.
XNUMXD๋ดํ์ ์ ํ ๊ทธ๋ํ ๊ฐ ํจ์์ ๋ํด ์ด๋ค ํจ์๊ฐ ํธ์ถํ๋์ง, ๋ค๋ฅธ ํจ์๋ ๋ฌด์์ธ์ง ๋ณด์ฌ์ค๋๋ค.
๊ทธ๊ฒ์ ํธ์ถ, ๊ทธ๋ฆฌ๊ณ ๋ช ๋ฒ. ์ ์์๋ ์๊ฐ์ ๋ํ ์ถ์ ๋ ์์ต๋๋ค.
๊ฐ ๊ธฐ๋ฅ์ ์๋ธ๋ฃจํด ์ด๊ฒ์ ๋น์ ์ด ์๋ํ ์ ์๋ ์ฅ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค
๋ง์ ์๊ฐ์ ์ฌ์ฉํ๋ ํจ์ ํธ์ถ์ ์ ๊ฑฐํฉ๋๋ค.
XNUMXD๋ดํ์ ์ฃผ์์ด ๋ฌ๋ฆฐ ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ด ๋ ์ด๋ธ์ด ์ง์ ๋ ํ๋ก๊ทธ๋จ ์์ค ์ฝ๋์ ๋ณต์ฌ๋ณธ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ๊ฐ ํ์ด ์คํ๋ ํ์.
์ต์
์ด ์ต์ ์ "gprof"๊ฐ ์์ฑํด์ผ ํ๋ ์ฌ๋ฌ ์ถ๋ ฅ ํ์์ ์ง์ ํฉ๋๋ค.
์ด๋ฌํ ์ต์ ์ค ๋๋ถ๋ถ์ ์ ํ ์ฌํญ์ ๋๋ค. ์ฌ์คํ ํฌํจํ ๊ธฐ๋ฅ์ ์ง์ ํ๊ฑฐ๋
์ ์ธ ๋. ์ด๋ฌํ ์ต์ ์ ์๋ก ๋ค๋ฅธ symspec์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ฒ ์ง์ ํ ์ ์์ต๋๋ค.
๊ธฐํธ ์งํฉ์ ํฌํจํ๊ฑฐ๋ ์ ์ธํฉ๋๋ค.
์ด๋ฌํ ์ต์ ์ ์ง์ ํ๋ฉด ๊ธฐ๋ณธ๊ฐ(-p -q), ํ๋ซ ํ๋กํ์ผ์ ์ธ์ํฉ๋๋ค.
๋ชจ๋ ๊ธฐ๋ฅ์ ๋ํ ๊ทธ๋ํ ๋ถ์์ ํธ์ถํฉ๋๋ค.
"-NS[์ฌ์คํ]"
"--์ฃผ์์ด ์๋ ์์ค[=์ฌ์คํ]"
XNUMXD๋ดํ์ -A ์ต์ ์ "gprof"๊ฐ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค ์ฝ๋๋ฅผ ์ธ์ํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์ ์ฌ์คํ ์ง์ ๋๊ณ ,
์ผ์นํ๋ ๊ธฐํธ์ ๋ํด์๋ง ์ถ๋ ฅ์ ์ธ์ํฉ๋๋ค.
"-NS"
"--์งง์"
๊ฒฝ์ฐ -b ์ต์ ์ด ์ฃผ์ด์ง๋ฉด "gprof"๋
ํ์ ์๋ ๋ชจ๋ ํ๋์ ์๋ฏธ๋ฅผ ์ค๋ช ํ์ญ์์ค. ์๋ํ๋ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
์ถ๋ ฅ๋ฌผ์ ์ธ์ํ๊ฑฐ๋ ๊ด๊ณ ๋ฌธ๊ตฌ๋ฅผ ๋ณด๋ ๋ฐ ์ง์ณค์ต๋๋ค.
"-์จ[์ฌ์คํ]"
"--์คํ ํ์[=์ฌ์คํ]"
XNUMXD๋ดํ์ -C ์ต์ ์ "gprof"๊ฐ ํจ์์ ์ง๊ณ์ ํ์๋ฅผ ์ธ์ํ๋๋ก ํฉ๋๋ค.
๊ฐ๊ฐ ๋ถ๋ ธ๋ค. ๋ง์ฝ์ ์ฌ์คํ ๊ฐ ์ง์ ๋๋ฉด ์ผ์นํ๋ ๊ธฐํธ์ ๋ํด์๋ง ์ง๊ณ๋ฅผ ์ธ์ํฉ๋๋ค.
ํ๋กํ์ผ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋ณธ ๋ธ๋ก ์ ๋ ์ฝ๋๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ -l ์ ํ๊ถ,
์ ํจ๊ป -C, ๊ธฐ๋ณธ ๋ธ๋ก ์คํ ํ์๊ฐ ์ง๊ณ๋๊ณ ํ์๋ฉ๋๋ค.
"-๋๋"
"--ํ์ผ ์ ๋ณด"
XNUMXD๋ดํ์ -i ์ต์ ์ "gprof"๊ฐ ํ๋กํ ๋ฐ์ดํฐ์ ๋ํ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํ๋๋ก ํฉ๋๋ค.
ํ์ผ์ ์ข ๋ฃํ ๋ค์ ์ข ๋ฃํฉ๋๋ค. ํ์คํ ๊ทธ๋จ ์, ํธ์ถ ๊ทธ๋ํ ์, ๊ธฐ๋ณธ ๋ธ๋ก ์
๊ธฐ๋ก์ด ํ์๋ฉ๋๋ค.
"-NS ๋๋ ํ ๋ฆฌ"
"--๋๋ ํ ๋ฆฌ-๊ฒฝ๋ก=๋๋ ํ ๋ฆฌ"
XNUMXD๋ดํ์ -I ์ต์ ์ ์์ค ํ์ผ์ ์ฐพ์ ๊ฒ์ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
ํ๊ฒฝ ๋ณ์ GPROF_PATH ์ด ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ ๋
์ฃผ๋ก ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค ์ถ๋ ฅ์ฉ์ ๋๋ค.
"-์ ์ด[์ฌ์คํ]"
"--no-annotated-source[=์ฌ์คํ]"
XNUMXD๋ดํ์ -J ์ต์ ์ ์ฌ์ฉํ๋ฉด "gprof"๊ฐ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค ์ฝ๋๋ฅผ ์ธ์ํ์ง ์์ต๋๋ค. ๋ง์ฝ์ ์ฌ์คํ is
์ง์ ๋ ๊ฒฝ์ฐ "gprof"๋ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค๋ฅผ ์ธ์ํ์ง๋ง ์ผ์นํ๋ ๊ธฐํธ๋ ์ ์ธํฉ๋๋ค.
"-์"
"--์ธ์ ๊ฒฝ๋ก"
์ผ๋ฐ์ ์ผ๋ก ์์ค ํ์ผ ์ด๋ฆ์ ๊ฒฝ๋ก ๊ตฌ์ฑ ์์๊ฐ ์ต์ ๋ ์ํ๋ก ์ธ์๋ฉ๋๋ค. NS -L
์ต์ ์ "gprof"๊ฐ ์์ค ํ์ผ ์ด๋ฆ์ ์ ์ฒด ๊ฒฝ๋ก ์ด๋ฆ์ ์ธ์ํ๋๋ก ํฉ๋๋ค.
์ด๋ฏธ์ง ํ์ผ์ ์ฌ๋ณผ๋ฆญ ๋๋ฒ๊น ์ ๋ณด์์ ๊ฒฐ์ ๋๋ฉฐ
์ปดํ์ผ๋ฌ๊ฐ ํธ์ถ๋ ๋๋ ํ ๋ฆฌ.
"-NS[์ฌ์คํ]"
"--ํ๋ฉด ํ๋กํ[=์ฌ์คํ]"
XNUMXD๋ดํ์ -p ์ต์ ์ "gprof"๊ฐ ํ๋ซ ํ๋กํ์ผ์ ์ธ์ํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์ ์ฌ์คํ ์ง์ ๋๋ฉด ์ธ์
์ผ์นํ๋ ๊ธฐํธ์ ๋ํด์๋ง ํ๋ซ ํ๋กํ์ผ.
"-NS[์ฌ์คํ]"
"--no-flat-profile[=์ฌ์คํ]"
XNUMXD๋ดํ์ -P ์ต์ ์ "gprof"๊ฐ ํ๋ซ ํ๋กํ์ผ ์ธ์๋ฅผ ์ต์ ํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์ ์ฌ์คํ is
์ง์ ๋ ๊ฒฝ์ฐ "gprof"๋ ํ๋ฉด ํ๋กํ์ ์ธ์ํ์ง๋ง ์ผ์นํ๋ ๊ธฐํธ๋ ์ ์ธํฉ๋๋ค.
"-NS[์ฌ์คํ]"
"--๊ทธ๋ํ[=์ฌ์คํ]"
XNUMXD๋ดํ์ -q ์ต์ ์ "gprof"๊ฐ ํธ์ถ ๊ทธ๋ํ ๋ถ์์ ์ธ์ํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์ ์ฌ์คํ is
์ง์ ๋ ๊ฒฝ์ฐ ์ผ์นํ๋ ๊ธฐํธ ๋ฐ ํด๋น ์์์ ๋ํด์๋ง ํธ์ถ ๊ทธ๋ํ๋ฅผ ์ธ์ํฉ๋๋ค.
"-NS[์ฌ์คํ]"
"--๊ทธ๋ํ ์์[=์ฌ์คํ]"
XNUMXD๋ดํ์ -Q ์ต์ ์ "gprof"๊ฐ ํธ์ถ ๊ทธ๋ํ ์ธ์๋ฅผ ์ต์ ํ๋๋ก ํฉ๋๋ค. ๋ง์ฝ์ ์ฌ์คํ is
์ง์ ๋ ๊ฒฝ์ฐ "gprof"๋ ํธ์ถ ๊ทธ๋ํ๋ฅผ ์ธ์ํ์ง๋ง ์ผ์นํ๋ ๊ธฐํธ๋ ์ ์ธํฉ๋๋ค.
"-NS"
"--ํ ์ด๋ธ ๊ธธ์ด=์ซ์"
XNUMXD๋ดํ์ -t ์ต์ ์ด ์์ธ NUM ๋์ดํ ๊ฐ ์์ค ํ์ผ์์ ๊ฐ์ฅ ํ๋์ ์ธ ์์ค ๋ผ์ธ
์์ค ์ฃผ์์ด ํ์ฑํ๋ ๊ฒฝ์ฐ. ๊ธฐ๋ณธ๊ฐ์ 10์ ๋๋ค.
"-์์ด"
"--๋ณ๋ ํ์ผ"
์ด ์ต์ ์ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค ์ถ๋ ฅ์๋ง ์ํฅ์ ์ค๋๋ค. ์ผ๋ฐ์ ์ผ๋ก "gprof"๋ ์ฃผ์์ ์ธ์ํฉ๋๋ค.
์์ค ํ์ผ์ ํ์ค ์ถ๋ ฅ์ผ๋ก ๋ณํํฉ๋๋ค. ์ด ์ต์ ์ ์ง์ ํ๋ฉด ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค
์ด๋ฆ์ด ์ง์ ๋ ํ์ผ ๊ฒฝ๋ก/ํ์ผ๋ช ํ์ผ์ ์์ฑ๋ฉ๋๋ค ํ์ผ๋ช -์ค. ๊ธฐ์ด๊ฐ ๋๋ ๊ฒฝ์ฐ
ํ์ผ ์์คํ ์ด ์๋ฆฝ๋๋ค. ํ์ผ๋ช -์ค ์๋ณธ์ ๋ฎ์ด์ฐ๋๋ก ํ์ผ ์ด๋ฆ,
"gprof"๋ ํ์ผ์ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค๋ฅผ ์์ฑํฉ๋๋ค. ํ์ผ๋ช .ann ๋์ (์๋ณธ์ธ ๊ฒฝ์ฐ
ํ์ผ ์ด๋ฆ์ ํ์ฅ์๊ฐ ์๊ณ ํด๋น ํ์ฅ์๋ ๋์ฒด ๊ณผ .์).
"-์ง[์ฌ์คํ]"
"--no-exec-counts[=์ฌ์คํ]"
XNUMXD๋ดํ์ -Z ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด "gprof"๊ฐ ํจ์ ๋ฐ ํ์ ์ง๊ณ๋ฅผ ์ธ์ํ์ง ์์ต๋๋ค.
๊ฐ๊ฐ ๋ถ๋ ธ๋ค. ๋ง์ฝ์ ์ฌ์คํ ์ง์ ๋๋ฉด ์ง๊ณ๋ฅผ ์ธ์ํ์ง๋ง ์ผ์นํ๋ ๊ธฐํธ๋ ์ ์ธํฉ๋๋ค.
"-NS"
"--ํจ์ ์์"
XNUMXD๋ดํ์ --ํจ์ ์์ ์ต์ ์ "gprof"๊ฐ ์ ์๋ ํจ์ ์์๋ฅผ ์ธ์ํ๋๋ก ํฉ๋๋ค.
ํ๋กํ์ผ๋ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ก๊ทธ๋จ์ฉ ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค.
์ง์ํ๋ ์์คํ ์์ ํ๋ก๊ทธ๋จ์ ๋ํ ํ์ด์ง, tlb ๋ฐ ์บ์ ๋์ ๊ฐ์
์คํ ํ์ผ์์ ์์์ ํจ์ ์์.
๋ง์ปค๊ฐ ํน์ ์์๋ก ๊ธฐ๋ฅ์ ๋ฐฐ์นํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ํํ ์ธ๋ถ ์ ๋ณด
์์คํ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ ์ด ์ค๋ช ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
"-NS map_file"
"--ํ์ผ ์์ map_file"
XNUMXD๋ดํ์ --ํ์ผ ์์ ์ต์ ์ "gprof"๊ฐ ์ ์๋ .o ๋งํฌ ๋ผ์ธ ์์๋ฅผ ์ธ์ํ๋๋ก ํฉ๋๋ค.
ํ๋กํ์ผ๋ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ก๊ทธ๋จ์ฉ ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ์ ์ํฉ๋๋ค.
์ง์ํ์ง ์๋ ์์คํ ์์ ํ๋ก๊ทธ๋จ์ ๋ํ ํ์ด์ง, tlb ๋ฐ ์บ์ ๋์ ๊ฐ์
์คํ ํ์ผ์์ ์์์ ํจ์ ์์.
์ ์ฌ์ฉ -a ์ด ์ต์ ๊ณผ ํจ๊ป ์ธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
XNUMXD๋ดํ์ ์ง๋ ํ์ผ ์ธ์๋ ๊ฐ์ฒด์ ํจ์ ์ด๋ฆ์ ์ ๊ณตํ๋ ํ์ผ์ ๊ฒฝ๋ก ์ด๋ฆ์ ๋๋ค.
ํ์ผ ๋งคํ. ํ์ผ ํ์์ "nm" ํ๋ก๊ทธ๋จ์ ์ถ๋ ฅ๊ณผ ์ ์ฌํฉ๋๋ค.
c-parse.o:00000000 T yyparse
c-parse.o:00000004 C yyerrfflag
c-lang.o:00000000 T ์๋ง๋_objc_method_name
c-lang.o:00000000 T print_lang_statistics
c-lang.o:00000000 T recognition_objc_keyword
c-decl.o:00000000 T print_lang_identifier
c-decl.o:00000000 T print_lang_type
...
๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ง๋ ํ์ผ GNU "nm"๋ฅผ ์ฌ์ฉํ์ฌ "nm --extern-only"์ ๊ฐ์ ๋ช ๋ น์ ์ ๋ ฅํฉ๋๋ค.
--defined-only -v --print-file-name ํ๋ก๊ทธ๋จ ์ด๋ฆ".
"-NS"
"--์ ํต์ ์ธ"
XNUMXD๋ดํ์ -T ์ต์ ์ ์ฌ์ฉํ๋ฉด "gprof"๊ฐ ์ถ๋ ฅ์ "์ ํต์ ์ธ" BSD ์คํ์ผ๋ก ์ธ์ํฉ๋๋ค.
"-w ๋๋น"
"--๋๋น=๋๋น"
์ถ๋ ฅ ๋ผ์ธ์ ๋๋น๋ฅผ ๋ค์์ผ๋ก ์ค์ ํฉ๋๋ค. ํญ. ํ์ฌ ๊ธฐ๋ฅ์ ์ธ์ํ ๋๋ง ์ฌ์ฉ
์ฝ ๊ทธ๋ํ ํ๋จ์ ์ธ๋ฑ์ค.
"-NS"
"--๋ชจ๋ ์ค"
์ด ์ต์ ์ ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ค ์ถ๋ ฅ์๋ง ์ํฅ์ ์ค๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ ๋ผ์ธ๋ง
๊ธฐ๋ณธ ๋ธ๋ก์ ์์ ๋ถ๋ถ์ ์ฃผ์์ด ๋ฌ๋ ค ์์ต๋๋ค. ์ด ์ต์ ์ ์ง์ ํ๋ฉด ๋ชจ๋ ๋ผ์ธ
๊ธฐ๋ณธ ๋ธ๋ก์ ์ฒซ ๋ฒ์งธ ์ค์ ๋ํ ์ฃผ์์ ๋ฐ๋ณตํ์ฌ ์ฃผ์์ ๋ต๋๋ค. ์ด๊ฒ
๋์์ "tcov"์ ์ ์ฌํฉ๋๋ค. -a.
"--demangle[=์คํ์ผ]"
"--๋๋งน๊ธ"
์ด ์ต์ ์ ์ธ์ํ ๋ C++ ๊ธฐํธ ์ด๋ฆ์ demangleํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
์ฐ์ถ. ๊ธฐ๋ณธ๊ฐ์ ๊ธฐํธ๋ฅผ demangleํ๋ ๊ฒ์ ๋๋ค. "--no-demangle" ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋งน๊ธ๋ง์ ๋๋๋ค. ์ปดํ์ผ๋ฌ๋ง๋ค ๋งน๊ธ๋ง ์คํ์ผ์ด ๋ค๋ฆ ๋๋ค. NS
์ ํ์ ๋๋ง๊ธ๋ง ์คํ์ผ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ํ ๋๋งน๊ธ๋ง์ ์ ํํ ์ ์์ต๋๋ค.
์ปดํ์ผ๋ฌ์ ๋ํ ์คํ์ผ.
Analysis ์ต์
"-NS"
"--์ ์ ์์"
XNUMXD๋ดํ์ -a ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด "gprof"๊ฐ ์ ์ ์ผ๋ก ์ ์ธ๋(๋น๊ณต๊ฐ) ์ธ์๋ฅผ ์ต์ ํฉ๋๋ค.
๊ธฐ๋ฅ. (์ด๋ค์ ์ด๋ฆ์ด ์ ์ญ์ผ๋ก ๋์ด๋์ง ์์ ํจ์์ด๋ฉฐ
์ ์๋ ํ์ผ/ํจ์/๋ธ๋ก ์ธ๋ถ์์๋ ๋ณผ ์ ์์ต๋๋ค.) ์์ ์๊ฐ
์ด๋ฌํ ํจ์, ํธ์ถ ๋ฑ์ ๋ชจ๋ ๋ค์๊ณผ ๊ฐ์ ํจ์์ ๊ท์๋ฉ๋๋ค.
์คํ ํ์ผ์์ ๋ฐ๋ก ์์ ๋ก๋๋์์ต๋๋ค. ์ด ์ต์ ์ ๋ ๊ฐ์ง ๋ชจ๋์ ์ํฅ์ ์ค๋๋ค.
ํ๋ฉด ํ๋กํ ๋ฐ ํธ์ถ ๊ทธ๋ํ.
"-์จ"
"--์ ์ ํธ์ถ ๊ทธ๋ํ"
XNUMXD๋ดํ์ -c ์ต์ ์ ํ๋ก๊ทธ๋จ์ ํธ์ถ ๊ทธ๋ํ๊ฐ ํด๋ฆฌ์คํฑ์ ์ํด ์ฆ๊ฐ๋๋๋ก ํฉ๋๋ค.
๊ฐ์ฒด ํ์ผ์ ํ ์คํธ ๊ณต๊ฐ์ ๊ฒ์ฌํ๊ณ ํจ์ ํธ์ถ์ ์๋ณํฉ๋๋ค.
์ด์ง ๊ธฐ๊ณ ์ฝ๋. ์ผ๋ฐ ์ฝ ๊ทธ๋ํ ๊ธฐ๋ก์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์์ฑ๋๊ธฐ ๋๋ฌธ์
ํจ์๊ฐ ์ ๋ ฅ๋๋ฉด ์ด ์ต์ ์ ํธ์ถ๋ ์ ์๋ ์์์ ์๋ณํฉ๋๋ค.
๊ทธ๋ฌ๋ ๊ฒฐ์ฝ ์์๋ค. ํ๋กํ์ผ๋ง์ด ํ์ฑํ๋ ์ํ์์ ์ปดํ์ผ๋์ง ์์ ํจ์์ ๋ํ ํธ์ถ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ธฐํธ ํ ์ด๋ธ ํญ๋ชฉ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์๋ณ๋ฉ๋๋ค. ์ ํ ๊ฑธ๊ธฐ
๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃจํด์ ์ผ๋ฐ์ ์ผ๋ก ์ง์ ์ด ์ต์ ์ผ๋ก ์ฐพ์์ต๋๋ค. ๋ถ๋ชจ ๋๋ ์๋
์ด ํด๋ฆฌ์คํฑ์ ํตํด ์๋ณ๋ ํธ์ถ ๊ทธ๋ํ์ ํธ์ถ ํ์๊ฐ ํ์๋ฉ๋๋ค. 0.
"-NS"
"--๋นํจ์ ๋ฌด์"
XNUMXD๋ดํ์ -D ์ต์ ์ "gprof"๊ฐ ํจ์๋ก ์๋ ค์ง์ง ์์ ๊ธฐํธ๋ฅผ ๋ฌด์ํ๋๋ก ํฉ๋๋ค.
์ด ์ต์ ์ ์ง์๋๋ ์์คํ ์์ ๋ณด๋ค ์ ํํ ํ๋กํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
(์: Solaris ๋ฐ HPUX).
"-์ผ์ด ์์๋ถํฐ"
XNUMXD๋ดํ์ -k ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ผ์นํ๋ ๊ธฐํธ์ ๋ชจ๋ ํธ๋ฅผ ํธ์ถ ๊ทธ๋ํ์์ ์ญ์ ํ ์ ์์ต๋๋ค.
์ฌ์คํ ์ ์ผ์นํ๋ symspec์ ์.
"-์"
"--์ "
XNUMXD๋ดํ์ -l ์ต์ ์ ๋ผ์ธ๋ณ ํ๋กํ์ผ๋ง์ ํ์ฑํํ์ฌ ํ์คํ ๊ทธ๋จ ํํธ๊ฐ
๊ธฐ๋ฅ ๋์ ๊ฐ๋ณ ์์ค ์ฝ๋ ๋ผ์ธ์ ์ฒญ๊ตฌ๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ๋ง
"gcc" ์ปดํ์ผ๋ฌ์ ์ด์ ๋ฒ์ ์ผ๋ก ์ปดํ์ผ๋ ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. ์ต์ ๋ฒ์
"gcc"๋ ๋์ "gcov" ๋๊ตฌ์ ํจ๊ป ์๋ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ณธ ๋ธ๋ก ๊ณ์ฐ์ด ํ์ฑํ๋ ์ํ๋ก ์ปดํ์ผ๋ ๊ฒฝ์ฐ ์ด ์ต์ ๋
๊ฐ ์ฝ๋ ํ์ด ์คํ๋ ํ์๋ฅผ ์๋ณํฉ๋๋ค. ๋ผ์ธ๋ณ๋ก ํ๋กํ์ผ๋งํ๋ ๋์
ํฐ ๊ธฐ๋ฅ์์ ํ๋ก๊ทธ๋จ์ด ์๊ฐ์ ๋ณด๋ด๋ ์์น๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
"gprof"์ ์คํ ์๊ฐ์ ํฌ๊ฒ ๋๋ฆฌ๊ณ ํต๊ณ๋ฅผ ํ๋ํฉ๋๋ค.
๋ถ์ ํ.
"--์ธ๋ผ์ธ ํ์ผ ์ด๋ฆ"
์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด "gprof"๊ฐ ๋ ํ๋ฉด์ ๊ฐ ๊ธฐํธ ๋ค์ ์์ค ํ์ผ์ ์ธ์ํฉ๋๋ค.
ํ๋กํ ๋ฐ ํธ์ถ ๊ทธ๋ํ. ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ธ์๋ฉ๋๋ค. -L
์ต์ ์ ์ ํํฉ๋๋ค.
"-๋ฏธ๋์ ์ซ์"
"--์ต์ ํ์=์ซ์"
์ด ์ต์ ์ ์คํ ํ์ ์ถ๋ ฅ์๋ง ์ํฅ์ ์ค๋๋ค. ๋ฏธ๋ง์ผ๋ก ์คํ๋๋ ๊ธฐํธ
NUM ์๊ฐ์ด ์ต์ ๋ฉ๋๋ค.
"-N์ฌ์คํ"
"--์๊ฐ=์ฌ์คํ"
XNUMXD๋ดํ์ -n ์ด ์ต์ ์ ํธ์ถ ๊ทธ๋ํ ๋ถ์์์ "gprof"๊ฐ ์๊ฐ๋ง ์ ํํ๋๋ก ํฉ๋๋ค.
๊ธฐํธ ์ผ์น ์ฌ์คํ.
"-N์ฌ์คํ"
"--์๊ฐ์ด ์๋ค=์ฌ์คํ"
XNUMXD๋ดํ์ -n ์ด ์ต์ ์ ํธ์ถ ๊ทธ๋ํ ๋ถ์์์ "gprof"๊ฐ ์๊ฐ์ ์ ํํ์ง ์๋๋ก ํฉ๋๋ค.
๊ธฐํธ ์ผ์น ์ฌ์คํ.
"-NSํ์ผ ์ด๋ฆ"
"--์ธ๋ถ ๊ธฐํธ ํ ์ด๋ธ=ํ์ผ ์ด๋ฆ"
XNUMXD๋ดํ์ -S ์ต์ ์ "gprof"๊ฐ ๋ค์๊ณผ ๊ฐ์ ์ธ๋ถ ๊ธฐํธ ํ ์ด๋ธ ํ์ผ์ ์ฝ๊ฒ ํฉ๋๋ค.
/proc/kallsyms, ์ฃผ์ด์ง ๋ชฉ์ ํ์ผ์์ ์ฌ๋ณผ ํ ์ด๋ธ์ ์ฝ๋ ๊ฒ๋ณด๋ค
๊ธฐ๋ณธ๊ฐ์ "a.out"์ ๋๋ค). ์ด๊ฒ์ ์ปค๋ ๋ชจ๋์ ํ๋กํ์ผ๋งํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
"-์ง"
"--๋์คํ๋ ์ด-๋ฏธ์ฌ์ฉ-๊ธฐ๋ฅ"
๋น์ ์ด ์ค๋ค๋ฉด -z ์ต์ ์์ "gprof"๋ ํ๋ซ ํ๋กํ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ธ๊ธํฉ๋๋ค.
๋ถ๋ฆ์ ๋ฐ์ ์ ๋ ์๊ณ ์๊ฐ์ ๋ณด๋ด์ง ์์ ์ฌ๋๋ค๊น์ง๋. ์ด๊ฒ์ ์ ์ฉํ๋ค
๊ณผ ํจ๊ป -c ํธ์ถ๋์ง ์์ ๋ฃจํด์ ๊ฒ์ํ๊ธฐ ์ํ ์ต์ ์ ๋๋ค.
๊ทธ ์ธ ์ต์
"-NS[์ซ์]"
"--๋๋ฒ๊ทธ[=์ซ์]"
XNUMXD๋ดํ์ -d NUM ์ต์ ์ ๋๋ฒ๊น ์ต์ ์ ์ง์ ํฉ๋๋ค. ๋ง์ฝ์ NUM ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๋ชจ๋ ํ์ฑํ
๋๋ฒ๊น .
"-์๊ฐ"
"--๋๋ค"
XNUMXD๋ดํ์ -h ์ต์ ์ ๋ช ๋ น์ค ์ฌ์ฉ๋ฒ์ ์ธ์ํฉ๋๋ค.
"-์ํ์ด๋ฆ"
"--ํ์ผ ํ์=์ด๋ฆ"
ํ๋กํ ๋ฐ์ดํฐ ํ์ผ์ ํ์์ ์ ํํฉ๋๋ค. ์ธ์๋๋ ํ์์ ์๋ (
๊ธฐ๋ณธ), bsd, 4.4BSD, ๋ง๋ฒ๋ฐ ๊ต์ (์์ง ์ง์๋์ง ์์).
"-NS"
"--ํฉ์งํฉ"
XNUMXD๋ดํ์ -s ์ต์ ์ "gprof"๊ฐ ํ๋กํ ๋ฐ์ดํฐ ํ์ผ์ ์ ๋ณด๋ฅผ ์์ฝํ๋๋ก ํฉ๋๋ค.
๋ผ๋ ํ๋กํ ๋ฐ์ดํฐ ํ์ผ์ ์ฝ๊ณ ์๋๋ค. gmon.sum, ๋ชจ๋ ๋ด์ฉ์ ํฌํจํ๋
"gprof"๊ฐ ์ฝ์ ํ๋กํ ๋ฐ์ดํฐ ํ์ผ์ ์ ๋ณด. ํ์ผ gmon.sum ๏ผ์
์ง์ ๋ ์ ๋ ฅ ํ์ผ ์ค ํ๋์ฌ์ผ ํฉ๋๋ค. ์ด๊ฒ์ ํจ๊ณผ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณํฉํ๋ ๊ฒ์ ๋๋ค.
๋ค๋ฅธ ์ ๋ ฅ ํ์ผ gmon.sum.
๊ฒฐ๊ตญ ๋ค์ ์์ด "gprof"๋ฅผ ๋ค์ ์คํํ ์ ์์ต๋๋ค. -s ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ธฐ ์ํด
ํ์ผ gmon.sum.
"-V"
"--๋ฒ์ "
XNUMXD๋ดํ์ -v ํ๋๊ทธ๋ "gprof"๊ฐ ํ์ฌ ๋ฒ์ ๋ฒํธ๋ฅผ ์ธ์ํ๋๋ก ํ ๋ค์ ์ข ๋ฃํฉ๋๋ค.
์ถ์ฒํ์ง ์์ต๋๋ค ์ต์
์ด๋ฌํ ์ต์ ์ symspecs๋ฅผ ์ฌ์ฉํ๋ ์ต์ ๋ฒ์ ์ผ๋ก ๋์ฒด๋์์ต๋๋ค.
"-์ด์ํ function_name"
XNUMXD๋ดํ์ -e ๊ธฐ๋ฅ ์ต์ ์ ํจ์์ ๋ํ ์ ๋ณด๋ฅผ ์ธ์ํ์ง ์๋๋ก "gprof"์ ์ง์ํฉ๋๋ค.
ํจ์ ์ด๋ฆ (๋ฐ ๊ทธ ์์...) ํธ์ถ ๊ทธ๋ํ. ๊ธฐ๋ฅ์ ์ฌ์ ํ
๊ทธ๊ฒ์ ํธ์ถํ๋ ๋ชจ๋ ํจ์์ ์์์ผ๋ก ๋์ด๋์ง๋ง ์ธ๋ฑ์ค ๋ฒํธ๋ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
[์๋๋ค ์ธ์๋จ]. ํ๋ ์ด์ -e ์ต์ ์ด ์ฃผ์ด์ง ์ ์์ต๋๋ค. ๋จ ํ๋ ํจ์ ์ด๋ฆ ์
๊ฐ๊ฐ์ผ๋ก ํ์ -e ์ต์ ์ ์ ํํฉ๋๋ค.
"-์ด์ํ function_name"
"-E ๊ธฐ๋ฅ" ์ต์ ์ "-e" ์ต์ ์ฒ๋ผ ์๋ํ์ง๋ง ํจ์์ ์์๋ ์๊ฐ
(๋ฐ ๋ค๋ฅธ ๊ณณ์์ ํธ์ถ๋์ง ์์ ์ด๋ฆฐ์ด)๋ ๊ณ์ฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
ํธ์ถ ๊ทธ๋ํ์ ์๊ฐ ๋ฐฑ๋ถ์จ. ํ๋ ์ด์ -E ์ต์ ์ด ์ฃผ์ด์ง ์ ์์ต๋๋ค. ์ค์ง
ํ ํจ์ ์ด๋ฆ ๊ฐ๊ฐ ํ์๋ ์ ์์ต๋๋ค. -E ์ต์ ์ ์ ํํฉ๋๋ค.
"-NS function_name"
XNUMXD๋ดํ์ -f ๊ธฐ๋ฅ ์ต์ ์ "gprof"๊ฐ ํธ์ถ ๊ทธ๋ํ๋ฅผ ํจ์๋ก ์ ํํ๋๋ก ํฉ๋๋ค.
ํจ์ ์ด๋ฆ ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ด๋ค(๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ์์ด๋ค...). ํ๋ ์ด์ -f ์ต์ ์
์ฃผ์ด์ง; ๋จ ํ๋ ํจ์ ์ด๋ฆ ๊ฐ๊ฐ ํ์๋ ์ ์์ต๋๋ค. -f ์ต์ ์ ์ ํํฉ๋๋ค.
"-NS function_name"
XNUMXD๋ดํ์ -F ๊ธฐ๋ฅ ์ต์ ์ "-f" ์ต์ ์ฒ๋ผ ์๋ํ์ง๋ง ํจ์์์ ๋ณด๋ธ ์๊ฐ๋ง
๊ทธ๋ฆฌ๊ณ ๊ทธ ์์๋ค(๊ทธ๋ฆฌ๊ณ ๊ทธ ์์๋ค...)์ ์ด ์๊ฐ๊ณผ
ํธ์ถ ๊ทธ๋ํ์ ์๊ฐ ๋ฐฑ๋ถ์จ. ํ๋ ์ด์ -F ์ต์ ์ด ์ฃผ์ด์ง ์ ์์ต๋๋ค. ์ค์ง
ํ ํจ์ ์ด๋ฆ ๊ฐ๊ฐ ํ์๋ ์ ์์ต๋๋ค. -F ์ ํ๊ถ. ๊ทธ๋งํผ -F ์ต์ ์
-E ์ต์ ์ ์ ํํฉ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก arm-linux-androideabi-gprof๋ฅผ ์ฌ์ฉํ์ธ์.