2017년 6월 25일 일요일

GDB

  • C언어 디버깅
- 컴파일: gcc -g test.c -o test
             -fno-stack-protector: carnary
- 명령어
    next (n) 라인 : 지정해 준 라인만큼 실행하고 라인 지정 하지 않을 시 한 줄 실행
    step (s) 라인 : 지정해 준 라인만큼 실행하고 함수가 있을 시 함수 안으로 진입
    p 변수명 : 지정해준 변수의 현재 값 확인
    set 변수명 = 값 : 지정해 준 값을 변수에 대입
    display 변수명 : 지정해 준 변수명의 상태를 항상 출력
                         display 해준 순서대로 번호를 자동으로 지정 해줌
    undisplay displayNumber : 자동으로 지정된 display 넘버를 지정해주면 명령실행 다음                                          부터 출력해주지 않음
    until (u) : 현재 루프를 빠져나감
    d : 모든 breakpoint 삭제 
    cl 번호 : 번호에 해당하는 breakpoint 삭제
    list (l) : 소스 출력

- perl 인자값 주기
(gdb) run $(perl -e 'print "A"x9, "\x08\x04\x83\xf4"')


댓글 없음:

댓글 쓰기