728x90
  • GDB

0. gdb 란?

 

: GNU에서 나온 디버거 프로그램으로 컴퓨터 프로그램의 실행을 추적하고 수정할 수 있는 기능들을 제공해준다.

 

또한 사용자는 프로그램의 내부 변수들의 값을 주시하거나 변경할 수 있으며, 프로그램의 일반적인 실행 과정과 독립적으로 함수를 호출 할 수 있다. 

 

1. gdb 사용법

 

# gdb [프로그램명]

: 실행 파일을 gdb로 실행하면서 디버깅한다. 

 

#gdb -c [core파일명][프로그램명]
#gdb [프로그램명][core파일명]

: core 파일을 생성하는 방법으로 여러가지가 있다. 

 

1) gcore를 활용하여 core dump 파일을 생성한 후 디버깅을 해준다. 

#gcore [-o filename] <pid>

: 위의 코드에서 core dump 파일을 생성하기 위해서 gcore 뒤에 core 파일을 만들 pid르 넣어주면 된다. 

 

 

2) gdb로 core 파일을 생성하고 싶은 프로세스를 attach 한 후 core dump 파일을 생성한다.

(gdb) attach <pid>
(gdb) generate-core-file
Saved corefile core.<pid>

 

 

3) 실행 중 segfault를 발생시키고 종료된 프로그램이 생성한 core 파일이 있는 경우

#gdb [프로그램명][실행 중인 프로세스 pid]

 

 

3. gdb 명령어

break 중단점 설정
info break 중단점 확인
clear 중단점 지정 후 삭제
delete 중단점 삭제
disable/enable 중단점 활성화/비활성화

 

+ Recent posts