CHAAANY ARCHIVE

strace

2개의 기록을 주제별로 둘러보세요.

Linux man 페이지 섹션과 syscall 추적: man 1·2·3·5·7·8

Linux에서 open을 검색했는데 서로 다른 문서가 나오는 이유는 같은 이름이 command, system call, library function으로 겹칠 수 있기 때문이다. 이때 manual section을 지정하면 찾으려는 interface의 층위를 분명히 할 수 있다. raw event, event metadata, system call을 하나의 고정된 처리 단계로 묶기보다 각 도구의 문맥에서 따로 정의하는 편이 정확하다.man section 번호가 뜻하는 것Linux man-pages의 대표 section은 다음과 같다.section다루는 대상예시1일반 사용자가 실행하는 commandman 1 printf2kernel이 제공하는 system call interfaceman 2 open3C li..

Linux 시스템 콜이란: 사용자 모드·커널 모드와 strace 추적

Linux 시스템 콜(system call)은 사용자 공간 프로그램이 kernel에 파일, process, memory, network 같은 작업을 요청하는 ABI 경계다. 애플리케이션 코드의 함수 하나가 시스템 콜 하나와 반드시 일대일로 대응하는 것은 아니다. runtime·libc wrapper가 여러 시스템 콜을 조합하거나, 다른 이름의 시스템 콜을 선택하거나, vDSO로 kernel 진입을 피할 수도 있다.운영에서 유용한 질문은 시스템 콜 이름을 많이 외우는 것이 아니라 “이 process가 어떤 kernel 요청에서 기다리거나 실패하는가”다. strace로 반환값, errno, file descriptor와 걸린 시간을 함께 보면 그 경계를 좁힐 수 있다.사용자 함수에서 kernel까지의 흐름애..

728x90