Effective/Effective Debugging
[ED] 22. 유닉스 명령줄 도구로 디버깅 데이터 분석하기
seeyoun
2024. 11. 18. 23:57
여러 가지 유닉스 명령을 파이프라인으로 조합하는 방식으로 복잡한 분석 작업을 간단히 처리할 수 있다.
- 디버깅 과정에서 다루는 데이터는 대부분 텍스트 포맷으로 되어 있기 때문에 사용하는 도구의 표준 입력으로 데이터를 그대로 전달할 수 있다.
- 텍스트를 분석할 때 여러 유닉스 명령을 파이프라인으로 조합하여 사용한다.
- 일반적으로 다음 순서로 스크립트를 작성하면 된다.
- 가져오기(Fetching)
- 선택하기(Selecting)
- 처리하기(Processing)
- 정리하기(Summarizing)
자주 쓰이는 유닉스 명령어
- grep:
텍스트 파일에서 특정 문자열 또는 패턴을 검색하고 일치하는 줄을 출력 - find:
디렉터리 트리에서 파일이나 디렉터리를 이름, 크기, 수정 시간 등 다양한 조건으로 검색 - awk:
텍스트 데이터를 행(row)과 열(column) 단위로 처리 및 변환하며, 특정 열을 추출하거나 계산 작업에 사용됨 - sort:
텍스트 파일의 내용을 알파벳 순, 숫자 순 등으로 정렬 - head:
파일의 처음 몇 줄을 출력(기본적으로 첫 10줄).
처리하기 힘든 포맷으로 구성되어 있다면 그 포맷을 지원하는 도구를 사용한다.
- 예를들어 C++ 프로그램이 갑자기 종료했다면, 해당 오브젝트 파일을 nm(유닉스) 명령으로 실행하여 exit 함수가 호출된 지점을 찾을 수 있다.