jujuwon
시크릿주주
jujuwon
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • 🔠 프로그래밍언어 (35)
      • ☕️ Java (19)
      • 🐠 Python (15)
      • 🍠 Kotlin (1)
    • 🔙 Backend (16)
      • 🌿 Springboot (12)
      • 🐳 Docker (1)
      • ☁️ AWS (3)
    • 💼 CS (12)
      • 📶 Network (12)
    • 🕹 알고리즘 (14)
      • 📑 스터디 (2)
      • 💁🏻‍♂️ 백준 (9)
      • 👨🏼‍🔬 프로그래머스 (3)
    • 📚 Book (8)
      • 🔎 오브젝트 (4)
      • 🧪 TDD (2)
      • 📜 논문 (2)
    • 🔐 보안 (7)
      • 👾 Pwnable (7)
    • 📝 회고 (4)
    • 🧩 etc. (10)
      • ⚠️ issue (2)
      • 💡 꿀팁 (7)
      • ✏️ 끄적 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

hELLO · Designed By 정상우.
jujuwon

시크릿주주

GDB :: gdb 사용법 및 옵션 정리
🧩 etc./💡 꿀팁

GDB :: gdb 사용법 및 옵션 정리

2021. 4. 9. 14:50
반응형

GDB 라고 부르는 GNU Debugger는 GNU 소프트웨어 시스템을 위한 기본 디버거.

GDB는 다양한 유닉스 기반의 시스템에서 동작하는 이식성 있는 디버거로,

에이다, C, C++, 포트란 등의 여러 프로그래밍 언어를 지원.

 

  • GDB 사용법

% gcc -g test.c -o test

% gdb

(gdb) file [test] // symbol table을 불러와서 디버깅 준비.

(gdb) list // 현재 위치에서 소스 파일의 내용을 10줄 보여줌.

(gdb) run (r) // 프로그램 시작.

(gdb) break (b) // 라인 번호나 함수 이름을 인자로 줄 수 있음. 특정 라인이나 함수에 브레이크 포인트 설정.

(gdb) disas [func or var] // 특정 주소를 disassembling. ex) disas main

(gdb) step (s) // 프로그램을 한 줄씩 실행. 함수 내부로 step into (진입) 하여 디버깅.

(gdb) next (n) // 프로그램을 한 줄씩 실행. 함수를 step over (지나침) 하여 디버깅.

(gdb) info [function] // 현재 함수 내 모든 local 변수와 그 값 출력.

(gdb) print (p) // 내부에 존재하는 어떤 값 출력. ex) p main : main 함수가 존재하는 메모리 주소 출력.

(gdb) set // 특정 위치의 메모리 값 변경. 디버깅에 사용되는 변수 정의도 가능.

(gdb) clear // 특정 symbol 에 걸려있는 breakpoints, watchpoints 제거. 뒤에 변수명이나 함수명 붙일 수 있음.

(gdb) delete (d) // 뒤에 제거하고자 하는 breakpoint number 를 붙여서 제거.

728x90
반응형
    '🧩 etc./💡 꿀팁' 카테고리의 다른 글
    • Mac :: 터미널에 이모지 나타내기
    • Github :: Git LFS 로 Large Size 파일 관리
    • IntelliJ :: Mac용 단축키 모음
    • System :: ARM Assembly 정리
    jujuwon
    jujuwon

    티스토리툴바