Linux/명령어

[GDB] 명령어 정리

zyari 2019. 9. 22. 16:10
반응형

1. gdb [파일]

파일을 gdb로 불러온다.

* 옵션

gdb -q [file] : gdb를 시작할때 여러정보들을 출력하지 않고 실행된다.

gdb --args [file] [argv1] [argv2] ... : 파일과 함께 인자들을 줄 수 있다.

 

2. r / run

gdb로 불러온 프로그램을 실행한다.

*옵션

run argv1 argv2 ... : 위에서 gdb --args로 인자를 넘길수도 있지만 이 명령어에서 옵션을 주어 인자를 넘길 수도 있다.

 

3. disas [함수] / disassemble [함수]

특정 함수의 어셈블리 코드를 보고싶을때 사용한다.

 

4. b *[주소] / break *[주소]

입력한 주소 위치에 브레이크 포인트를 설정한다.

 

5. b [function] / break [function]

함수에 브레이크 포인트를 건다. 단, 함수의 프롤로그까지 프로그램을 동작시키고 그 이후 멈춘다.

 

6. b *[function] / break *[function]

5번과 마찬가지로 함수에 브레이크 포인트를 거는 명령어. 단, 함수의 프롤로그 시작 부분에 브레이크 포인트를 걸어 함수 시작 전까지 프로그램을 돌리고 멈춘다.

 

7. c / continue

gdb를 통해 프로그램을 실행시킨 후 브레이크 포인트까지 프로그램을 실행한다.

 

8. q / quit

프로그램을 종료한다.

 

9. info [function]  / info [break] / info [register]

각각 함수, 브레이크 포인트, 레지스터의 정보를 출력한다.

[function] : 메모리에 올라가있는 함수의 목록과 주소를 알 수 있다.

[break] : 걸려있는 브레이크 포인트의 위치를 알 수 있다.

[register] : 레지스터의 상태를 알 수 있다.

 

10. del [number] / delete [number]

특정 number의 브레이크 포인트를 제거한다.

* del / delete : 모든 브레이크 포인트를 제거

 

11. si / stepi

코드를 한줄 실행하는데, 함수 안으로 들어간다.

 

12. ni / nexti

코드를 한줄 실행하는데, 함수 안으로 들어가지 않는다.

 

13. p [function] / print [function]

해당 함수의 주소를 출력한다.

 

14. p $[reg]

해당 레지스터(reg)의 값을 출력한다.

 

반응형