프로그램 수행

MySprtlty·2022년 7월 12일
0

gdb

목록 보기
5/12
post-thumbnail

🏷️프로그램 수행

📌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와의 차이점이다.)

0개의 댓글