gdb

최근 수정 시각:
1
편집
IP 우회 수단(프록시 서버, VPN, Tor 등)이나 IDC 대역 IP로 접속하셨습니다. (#14462228)
(VPN이나 iCloud의 비공개 릴레이를 사용 중인 경우 나타날 수 있습니다.)
잘못된 IDC 대역 차단이라고 생각하시는 경우 게시판에 문의하시길 바랍니다.
토론역사
 
다른 뜻 아이콘   프로게이머의 밴픽 밈에 대한 내용은 고동빈/밈 문서의 GDB 부분을 참고하십시오.
GNU Debugger
archer
종류
최초 개발자
개발
출시
언어
플랫폼
안정 버전
v16.3
라이선스
링크
홈페이지 아이콘
 
1. 개요2. 역사3. 지원 언어4. 기본 명령어5. 파생 소프트웨어
5.1. 확장5.2. 프런트엔드
5.2.1. 독립 프런트엔드5.2.2. 지원 IDE
6. 기타

 

1. 개요[편집]

 
GNU디버거.

응용 프로그램을 디버깅하는데 사용되며 Unix 계열 운영체제에서 주로 GCC, binutils와 함께 설치되는 편.

gdb로 원활한 디버깅을 하기 위해서는 디버깅 심볼이 필요하므로, 디버깅 대상 프로그램을 컴파일할 때 GCCClang의 경우 -g 또는 -ggdb 인수를 추가해야 한다.##
 

2. 역사[편집]

 
1986년 리처드 스톨먼이 초창기 GNU 프로젝트를 구상하고 개발할 당시 GCC, GNU Emacs와 함께 제작되었다.#
 

3. 지원 언어[편집]

 
 

4. 기본 명령어[편집]

 
볼드는 단축 명령어를 의미한다.
명령어
비고
break
중단점 설정. 지정된 라인 혹은 frame symbol에 중단점을 설정한다. 현재 선택된 파일이 아닌 다른 파일일 경우, <파일명>:으로 지정할 수 있다.
delete
중단점 삭제.
run
프로세스 실행. 만약 이미 디버깅 중이었다면, 기존 프로세스를 죽이고 새로 시작시킨다. argv 인수를 수정하고 싶은 경우 원하는 인자를 이어서 추가할 수 있다.
kill
현재 디버깅 중인 프로세스를 종료한다.
continue
다음 중단점까지 실행
step
한 줄 실행, 함수 호출이 발생하는 경우 새 프레임 안으로 들어간다.
next
한 줄 실행, 함수 호출이 발생하는 경우 프레임 드랍까지 실행한다.
finish
현재 프레임을 탈출하고, 리턴값이 있다면 표시한다.
print
만능(?) 디버깅 커맨드. 주어진 표현식을 현재까지 실행 중단된 환경을 대상으로 평가한 후 결과를 출력한다.
 

5. 파생 소프트웨어[편집]

 
 
 

5.2. 프런트엔드[편집]

 
gdb 자체는 간단한 TUI만 존재하고, 소스나 기타 디버깅 정보를 시각적으로 보여줄 수 있는 GUI는 내장하고 있지 않다. 때문에 주로 GUI 프런트엔드와 함께 또는 사용하는 IDE의 자체 구현이나 확장 기능을 통해 gdb를 간접적으로 사용하게 된다.

주로 GDB/MI 프로토콜을 통해 구현하거나, IDE 레이어의 경우 브릿지용으로 DAP 프로토콜을 사용하는 경우도 있다.
 

5.2.1. 독립 프런트엔드[편집]

 

5.2.2. 지원 IDE[편집]

 

6. 기타[편집]

 

크리에이티브 커먼즈 라이선스
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외)
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다.
나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
더 보기