gdb
가장 대표적인 디버거
정지점 설정, 한 줄씩 실행, 변수 접근 및 수정, 함수 탐색, 추적(tracing) 기능
gdb 사용을 위한 컴파일
-g 옵션을 이용하여 컴파일함
gcc -g -o long long.c ## 컴파일
gdb long ## 소스파일이 아닌 실행파일로 실행
명령어
l [줄번호] : 지정된 줄 프린트
l [파일명]:[함수명] : 지정된 파일의 함수를 프린트
b [함수] : 함수 시작 부분에 정지점 설정
b [n] : n번 줄에 정지점을 설정
b +[n] : 현재 줄에서 n개 줄 이후에 정지점 설정
info b : 현재 설정된 정지점 출력
clear [줄번호] : 해당 정지점을 삭제
d : 모든 정지점을 삭제
run : 현재의 인수를 사용하여 프로그램 실행
run [args] : 새로운 [인수]를 가지고 프로그램 실행
continue : 현재 위치에서 프로그램 계속 실행
next : 한 줄씩 실행시킨다. 이때 함수를 포함하고 있으면 함수를 수행시킨다
next [n] : [n]줄을 실행시킨다
step : 한 줄씩 실행시킨다. 이때 함수를 포함하고 있으면 함수 내부로 들어가서 한 줄씩 실행한다
step [n] : [n]줄을 실행시킨다
break [line number] : 라인 번호에서 프로그램 실행을 멈추게 한다
break [함수명] : 함수 내부의 첫 번째 라인에서 프로그램의 실행을 멈추게 한다
quit : gdb를 종료 시킨다
list : 현재 위치에서 소스파일의 내용을 10줄 보여준다
list [시작줄], [끝줄] : [시작줄]과 [끝줄] 사이의 소스파일 내용을 보여준다
p [변수명] : 해당 변수 값 프린트
display [변수명] : 변수명과 함께 다음 실행에도 계속 결과 제시
'Linux' 카테고리의 다른 글
[리눅스] 기본 명령어 (0) | 2022.10.16 |
---|---|
[리눅스] 유닉스/리눅스 (0) | 2022.10.16 |
[리눅스] 시스템 프로그래밍 환경 - make (0) | 2022.10.14 |
[리눅스] 시스템 프로그래밍 환경 - gcc 컴파일러 (0) | 2022.10.14 |
[리눅스] 시스템 프로그래밍 환경 - vi (1) | 2022.10.14 |