Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.2.3. GDB를 사용하여 프로그램 코드를 단계별로 실행

GDB 디버거가 프로그램에 연결되면 여러 명령을 사용하여 프로그램의 실행을 제어할 수 있습니다.

사전 요구 사항
GDB 명령어를 사용하여 코드 전달
R (run)
프로그램 실행을 시작합니다. 실행이 인수와 함께 실행되면 해당 인수는 프로그램이 정상적으로 시작된 것처럼 실행 파일에 전달됩니다. 일반적으로 사용자는 중단점을 설정한 후 이 명령을 실행합니다.
start
프로그램의 실행을 시작하고 기본 함수의 시작 부분에서 중지합니다. start 를 인수로 실행하면 프로그램이 정상적으로 시작된 것처럼 해당 인수가 실행 파일에 전달됩니다.
c (계속)

현재 상태에서 프로그램을 계속 실행합니다. 프로그램 실행이 다음 중 하나가 true가 될 때까지 계속됩니다.

  • Breakpoint에 도달합니다.
  • 지정된 조건이 충족됨
  • 프로그램에 의해 수신된 신호
  • 오류가 발생했습니다.
  • 프로그램이 종료
N (next)

이 명령의 일반적으로 알려진 또 다른 이름은 step 입니다. 현재 소스 파일의 다음 코드 줄에 도달할 때까지 현재 상태에서 프로그램을 계속 실행합니다. 프로그램 실행이 다음 중 하나가 true가 될 때까지 계속됩니다.

  • Breakpoint에 도달합니다.
  • 지정된 조건이 충족됨
  • 프로그램에 의해 수신된 신호
  • 오류가 발생했습니다.
  • 프로그램이 종료
s (단계)
이 명령의 다른 일반적으로 알려진 이름은 다음과 같습니다. step 명령은 현재 소스 파일에서 코드의 각 순차적 줄에서 실행을 중지합니다. 그러나 현재 함수 호출이 포함된 소스 라인에서 실행이 중지된 경우 GDB는 함수 호출 을 입력한 후(실행하지 않고) 실행을 중지합니다.
위치 까지
위치 옵션으로 지정한 코드 위치에 도달할 때까지 실행을 계속합니다.
Fini (마지막)

프로그램 실행을 다시 시작하고 실행이 함수에서 반환될 때 중지됩니다. 프로그램 실행이 다음 중 하나가 true가 될 때까지 계속됩니다.

  • Breakpoint에 도달합니다.
  • 지정된 조건이 충족됨
  • 프로그램에 의해 수신된 신호
  • 오류가 발생했습니다.
  • 프로그램이 종료
Q (quit)
실행을 종료하고 GDB를 종료합니다.
추가 리소스