libc 없는 프로그래밍: strace를 사용한 Linux 시스템 콜 마스터하기

2025-06-14

저자는 최근 libc 없이 소프트웨어를 구축하여 Linux 시스템 콜과 내부 메커니즘을 더 깊이 이해하려고 시도했습니다. 최소한의 쉘, 스네이크 게임, 순수 ARM64 어셈블리 HTTP 서버, 그리고 스레드 구현을 만들었습니다. 디버깅에는 strace를 많이 사용했으며, 이 글에서는 strace의 여러 유용한 옵션과 플래그에 대해 자세히 설명합니다. 자식 프로세스 추적, 상세한 구조체 정보 출력, 시스템 콜의 선택적 추적, 그리고 디버깅을 위한 시스템 콜 오류 주입 등 광범위한 기능이 소개됩니다. 이것은 고급 Linux 시스템 프로그래밍 및 디버깅 기술에 대한 귀중한 통찰력을 제공합니다.

개발