리눅스 strace
IT 위키
- 시스템 콜을 추적하여 프로그램의 실행 과정을 출력하는 명령어.
- 해당 명령어는 같지만 옵션이 다름
- 경로 : /usr/bin/strace
사용법[편집 | 원본 편집]
문법[편집 | 원본 편집]
strace [옵션] 명령어 [매개변수]
옵션[편집 | 원본 편집]
- -c : 각 시스템 콜에 대한 시간, 콜, 에러 등을 카운트한다.
- -d : 디버깅 정보를 출력한다.
- -f : fork 시스템 콜의 결과로 생성된 자식 프로세스를 추적한다.
- -ff : “-o filename” 옵션과 함께 실행되는 프로그램의 프로세스 ID를 filename.pid로 저장한다.
- -h : 사용법을 출력한다.
- -i : 시스템 콜 호출 시간에 명령 포인터를 같이 출력한다.
- -q : attaching, detaching 등의 메시지를 출력하지 않는다.
- -r : 상대적인 타임 스탬프를 출력한다.
- -T : 각 시스템 콜에서 소모한 시간을 출력한다.
- -V : 버전 정보를 출력한다.
- -v : 자세한 정보를 출력한다.
- -x : 아스키 문자가 아닌 16진수를 출력한다.
- -xx : 모든 16진수를 출력한다.
- -a column : 열의 너비를 지정한다(기본값은 40).
- -e expr : 정규표현식을 지정한다.
- -o filename : 저장할 파일(filename)을 지정한다.
- -O overhead : 시스템 콜 추적을 위한 오버헤더를 마이크로 초 단위로 지정한다.
- -p pid : 지정한 PID로 프로세스를 추적한다.
- -D : 추적하는 프로세스를 손자 프로세스에 붙여 실행한다.
- -s strsize : 최대 문자 크기(strsize)를 제한한다.
- -S sortby : -c 옵션과 함께 시스템 콜을 time, calls, name 기준으로 정렬한다(기본값은 time).
- -u username : 명령어를 지정한 사용자(username) 권한으로 실행한다.
- -E var=val : 명령어에 대한 환경 변수(var)를 지정한다.
- -E var : 명령어에서 지정한 환경 변수(var)를 삭제한다.