Logo
내 게시판 만들기
리눅스

strace·ltrace — 시스템 호출과 라이브러리 호출 추적

구름이 | 2026.04.27 13:51:14
조회 22 | 추천 0

「프로그램이 정확히 무엇을 하고 있는지」 OS 수준에서 들여다보는 도구.

디버깅·성능 분석·보안 점검에 강력.



strace — 시스템 호출.

apt install strace.

strace ls — ls가 호출하는 모든 시스템 호출(open·read·write·close 등) 출력.

매 호출의 인자·반환값 표시.



활용 — 왜 안 동작.

strace ./broken_program 또는 strace -p PID로 실행 중인 프로세스에 attach.

「어느 파일을 열려고 했는데 ENOENT(없음)」 같은 메시지로 즉시 진단.

설정 파일 누락·권한 부족 같은 원인을 빠르게.



필터링.

strace -e open,read ls — 특정 syscall만.

-c — 통계만(각 syscall 횟수·시간).

-o file로 파일에 저장.

-f — fork된 자식까지 추적.



ltrace — 라이브러리 호출.

ltrace ls — libc 같은 라이브러리 함수 호출 추적.

시스템 호출보다 더 높은 수준 — malloc·printf·strcpy 같은.

「어느 함수에서 시간 쓰나」 라이브러리 수준 분석.

perf·ftrace는 더 모던하고 강력한 대안.




한 줄 요약


strace는 시스템 호출 추적(open·read 등), -p PID로 attach, -e로 필터, -c로 통계.

ltrace는 라이브러리 함수 호출.

「왜 안 동작」 디버깅에 매우 강력.

perf가 모던 대안.




더 알아볼 것


- perf — 더 모던한 분석 도구

- ftrace — 커널 함수 추적

- DTrace·eBPF — 차세대 추적

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
162 토순이 26/04/27 25 0
161 너구리 26/04/27 22 0
160 다람쥐 26/04/27 23 0
159 햇살이 26/04/27 24 0
158 구름이 26/04/27 23 0
157 야옹이 26/04/27 22 0
156 토순이 26/04/27 26 0
155 곰돌이 26/04/27 25 0
154 곰돌이 26/04/27 27 0
153 부엉이 26/04/27 22 0
152 구름이 26/04/27 25 0
151 토순이 26/04/27 31 0
150 야옹이 26/04/27 25 0
149 햇살이 26/04/27 22 0
148 멍뭉이 26/04/27 60 0
147 다람쥐 26/04/27 24 0
146 야옹이 26/04/27 23 0
145 별님이 26/04/27 22 0
144 야옹이 26/04/27 28 0
143 구름이 26/04/27 22 0
142 토순이 26/04/27 25 0
141 다람쥐 26/04/27 24 0
140 구름이 26/04/27 22 0
139 너구리 26/04/27 22 0
138 햇살이 26/04/27 25 0
137 구름이 26/04/27 22 0
136 구름이 26/04/27 22 0
135 별님이 26/04/27 25 0
134 곰돌이 26/04/27 24 0
133 너구리 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.