🏷️프로그램 수행
📌r
- 🖇️cf. r stands for run
- 프로그램을 첫 브레이크 포인트까지 수행한다.
- 이미 프로그램이 수행 중이었다면 재시작하게 된다.
run arg1 arg2 …
처럼 실행 인자를 넘기며 실행할 수도 있다.
- 🔍ex) find명령어
(gdb) r ./ -name *.c -print
📌k
- 🖇️cf. k stands for kill
- 현재 수행 중인 프로그램을 종료시킨다.
📌s
- 🖇️cf. s stands for step
- 현재 행(1행)을 수행한 후 정지한다.
- 함수 호출 시, 함수 내부로 들어간다.
s [#]
처럼 반복 횟수를 지정하면 #번 만큼 s를 반복한다.
📌n
- 🖇️cf. n stands for next
- 현재 행(1행)을 수행한 후 정지한다.
- 함수 호출 시, 함수를 수행한 후 다음 행으로 간다.
- 즉, 함수 내부로 들어가지 않는다. (이것이 s와의 차이점이다.)
- 마찬가지로
n [#]
로 반복 횟수를 지정할 수 있다.
📌c
- 🖇️cf. c stands for continue
- 브레이크 포인트를 만날 때까지 계속 진행한다.
📌u
- 🖇️cf. u stands for until past the current line
- 루프를 빠져나온다.
📌finish
📌return
- 함수 나머지 부분을 수행하지 않고 빠져나온다.
- 리턴값이 있는 경우
return [리턴값]
처럼 리턴값을 임의로 지정하여 빠져나올 수도 있다.
- 🔍ex)
(gdb) return 123
📌si
- 🖇️cf. si stands for step instruction
- 소스의 한 행이 아닌, 현재 instruction 하나를 수행한다.
- 🖇️cf. 어셈블리 레벨의 명령어 하나를 의미한다.
- 함수 내부로 들어간다.
📌ni
- 🖇️cf. ni stands for next instruction
- 소스의 한 행이 아닌, 현재 instruction 하나를 수행한다.
- 함수 내부로 들어가지 않는다. (이것이 si와의 차이점이다.)