Linux 디 버 깅 도구 strace 와 gdb 의 일반적인 명령 요약

2492 단어 Linuxstracegdb
strace 와 gdb 는 Linux 환경 에서 자주 사용 하 는 디 버 깅 도구 입 니 다.여 기 는 개인 이 사용 하 는 과정 에서 이 두 도구 에 자주 사용 하 는 매개 변수 에 대한 정 리 를 나중에 볼 수 있 도록 남 겨 두 었 습 니 다.strace 디 버 깅 도구 strace 도 구 는 프로 세 스 가 실 행 될 때의 시스템 호출 과 받 은 신 호 를 추적 하 는 데 사 용 됩 니 다.매개 변수,반환 값,실행 시간 을 포함 합 니 다.Linux 에서 사용자 프로그램 이 시스템 장 치 를 방문 하려 면 사용자 상태 에서 커 널 상태 로 전환 해 야 합 니 다.이것 은 시스템 호출 을 통 해 시작 되 고 완 성 된 것 입 니 다.strace 상용 매개 변수:-c 는 각 시스템 호출 이 실 행 된 시간,호출 횟수,오류 횟수 를 통계 합 니 다.프로그램 이 종 료 될 때 보고-p pid 추적 이 지정 한 프로 세 스 를 보 여 줍 니 다.여러-p 를 사용 하여 여러 프로 세 스 를 동시에 추적 할 수 있 습 니 다.-o filename strace 는 기본적으로 stdout 에 출력 합 니 다.-o 출력 을 지정 한 파일 에 기록 할 수 있 습 니 다.-f 는 fork 에서 발생 하 는 하위 프로 세 스 를 추적 하 는 시스템 호출-ff 는-o 옵션 과 함께 사용 합 니 다.서로 다른 프로 세 스(하위 프로 세 스)에서 발생 하 는 시스템 호출 을 각 filename.pid 파일 에 출력 합 니 다.-F 는 vfork 하위 프로 세 스 시스템 호출 을 추적 하려 고 시도 합 니 다.주의:-f 와 동시에 사용 할 때 vfork 는 추적 되 지 않 습 니 다.-e expr 출력 필터 표현 식 입 니 다.출력 하고 싶 지 않 은 strace 결과-e trace=set 지정 추적 set 의 시스템 호출-e trace=network 추적 네트워크 와 관련 된 모든 시스템 호출-e strace=signal 추적 시스템 신호 와 관련 된 모든 시스템 호출-e trace=ipc 추적 프로 세 스 통신 과 관련 된 모든 시스템 호출-e signal=set 지정 추적 set 의 신호-e read=set 출력 은 지정 한 파일 에서 읽 은 데 이 터 를 출력 합 니 다.예 를 들 어-e read=3,5-e write=set 출력 은 지정 한 파일 에 기 록 된 데 이 터 를 출력 합 니 다.예 를 들 어-e write=1-r 는 모든 시스템 이 호출 하 는 상대 시간-t 를 출력 하기 전에 시간 정 보 를 추가 합 니 다.-t 는 출력 중의 모든 줄 에 시간 정 보 를 추가 합 니 다.시간 은 초 단위 로 정확 합 니 다.-tt 는 출력 에 있 는 줄 마다 시간 정 보 를 추가 합 니 다.출력 은 상대 시간-s 로 각 줄 의 출력 문자열 의 길 이 를 지정 합 니 다(기본 값 은 32)strace 사용 예:strace-t whoami  #whoami 실행 가능 한 프로그램 을 추적 합 니 다.줄 마다 출력 결 과 를 출력 하기 전에 실 행 된 시간 strace-p 17151-p 17152-p 17153 을 인쇄 합 니 다.  #동시에 추적 프로 세 스 17151,17152,17153 strace-f-e trace=read,write-p 17151-o log  #추적 프로 세 스 17151 및 하위 프로 세 스에 서 read 와 write 시스템 호출,log 파일 gdb 디 버 깅 도구 GDB 에 출력 하 는 것 은 GNU 오픈 소스 조직 이 발표 한 강력 한 UNIX 의 프로그램 디 버 깅 도구 입 니 다.gcc 컴 파일 시-g 인 자 를 추가 하면 실행 가능 한 프로그램 에 gdb 디 버 깅 정 보 를 추가 할 수 있 습 니 다.(1)info 약자:i,gdb 하위 명령 의 정 보 를 보 여 줍 니 다.예 를 들 어 info break,info variables,info stack 등 입 니 다.(2)list[file:]function 약자:l,현재 줄 의 컨 텍스트 를 보고 기본 값 은 10 줄 이 며,함수 에 원본 코드 를 표시 할 수도 있 습 니 다.(3)edit[file:]function 약자:e,현재 있 는 줄 을 편집 하고 함수 의 원본 코드 를 편집 할 수 있 습 니 다.(4)break[file:]function 약자:b,정지점 을 설정 하고 특정한 줄 이나 함수 에 설정 할 수 있 습 니 다.(5)run[arglist]약자:r,실행 프로그램 이 정지점 에서 멈 추고 run 명령 이후 디 버 깅 프로그램 에 필요 한 인 자 를 추가 할 수 있 습 니 다.(6)next 약자:n,단일 문 구 를 실행 합 니 다.(7)contine 약자:c,다음 정지점 까지 프로그램 을 계속 실행 합 니 다.(8)print 약자:p,인쇄 변수의 값.(9)bt 는 함수 스 택 정 보 를 봅 니 다.(10)엔 터 리 턴 키,지난번 디 버 깅 명령 을 반복 합 니 다.(11)help[name]은 지정 한 gdb 명령 의 도움말 정 보 를 표시 합 니 다.(12)quit 약자:q,gdb 를 종료 합 니 다.

좋은 웹페이지 즐겨찾기