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 | 중단점 활성화/비활성화 |
'자기개발 > 포너블' 카테고리의 다른 글
[2022 CTF ] 포너블 - Day 9 (0) | 2022.02.08 |
---|---|
[2022 CTF] 포너블 - Day 8 (0) | 2022.02.08 |
[포너블] gdb-pead 개념 및 명령어 정리 (0) | 2022.02.05 |
[포너블스터디] pwntool 개념 및 사용법 (0) | 2022.02.03 |
[LOB]gremlin 문제 풀이 (0) | 2022.01.27 |