0Pricing
Linux Command Line Mastery · 강의

strace와 ltrace로 시스템 호출 추적하기

프로세스가 수행하는 시스템 호출과 라이브러리 호출을 추적하여 시스템을 더 깊이 문제 해결하고, 정확히 어느 지점에서 멈추거나 실패하는지 확인해 보세요.

strace와 ltrace로 시스템 호출 추적하기은(는) CoddyKit의 무료 Linux Command Line Mastery 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Command Line Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Command Line Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

When Metrics Are Not Enough

CPU, memory, and I/O tools tell you that something is slow. To learn why, you trace what a process actually asks the kernel to do. strace and ltrace open that window.

What strace Shows

strace records every system call: file opens, reads, network sends, and their return values, including errors.

strace ls /tmp

Attaching to a Running Process

Use -p PID to trace something already running, such as a stuck service.

sudo strace -p 4567

Filtering Specific Calls

-e trace= limits output to calls you care about, e.g. only file-related ones.

strace -e trace=openat,read,write cat /etc/hostname

Finding Missing Files

A classic use: see which file a program fails to open. Look for ENOENT (no such file) in the output.

strace -e trace=openat myapp 2>&1 | grep ENOENT

Summarizing with -c

-c prints a profile: which syscalls consumed the most time and how often each was called.

strace -c ls -R /usr/share

Timing Calls

-T shows how long each syscall took, and -t adds timestamps, pinpointing where a process blocks.

strace -T -e trace=read myapp

Following Child Processes

-f follows forks so you trace child processes too, essential for servers that spawn workers.

strace -f -p 4567

Saving Output to a File

Traces are noisy; -o writes them to a file you can grep later without cluttering the terminal.

strace -o trace.log -f myapp

ltrace for Library Calls

While strace shows kernel calls, ltrace shows library calls like malloc or strcmp, useful for logic-level debugging.

ltrace ./myprogram

A Troubleshooting Recipe

When a service hangs: attach with strace -f -p, watch for a syscall that never returns (often a blocked read or connect), and you have found the stall.

Quick Check

What kind of activity does strace primarily reveal?

Recap

You can now trace a process at the syscall level:

  • strace cmd or -p PID to attach
  • -e trace= filters, -c profiles, -T/-t time
  • -f follows children, -o saves output
  • ltrace shows library calls

Watch for errors like ENOENT or a syscall that never returns.

자주 묻는 질문

“strace와 ltrace로 시스템 호출 추적하기” 강의는 무료인가요?

네 — “strace와 ltrace로 시스템 호출 추적하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Command Line Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Command Line Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“strace와 ltrace로 시스템 호출 추적하기”에서 뭘 배우나요?

프로세스가 수행하는 시스템 호출과 라이브러리 호출을 추적하여 시스템을 더 깊이 문제 해결하고, 정확히 어느 지점에서 멈추거나 실패하는지 확인해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Linux Command Line Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Command Line Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Command Line Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“strace와 ltrace로 시스템 호출 추적하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Command Line Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Command Line Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 디스크 입출력 모니터링: `iostat`, `iotop`
  2. 메모리 및 CPU 성능 도구
  3. 고급 로그 기록 및 문제 해결 기법
  4. strace와 ltrace로 시스템 호출 추적하기
← Linux Command Line Mastery(으)로 돌아가기