디버거
IT 위키
Debugger : 디버거
프로그램 안에 숨어 있는 오류(버그)를 찾아내고 고치는 작업을 돕는 소프트웨어. 그 작업 자체를 디버깅(Debugging)이라 한다.
- 중단점(Breakpoint) : 지정한 줄에서 실행을 멈춘다
- 한 단계씩 실행 : 한 줄씩 진행하며 흐름을 본다
- 변수 감시 : 실행 중 변수의 값을 들여다보고 바꾼다
- 호출 스택 : 어떤 함수가 어떤 순서로 불렸는지 본다
- 메모리와 레지스터 확인
| 도구 | 하는 일 |
|---|---|
| 컴파일러 | 고급 언어를 기계어로 번역한다 |
| 링커 | 목적 모듈들을 묶어 실행 파일을 만든다 |
| 로더 | 실행 파일을 주기억장치에 올린다 |
| 디버거 | 논리적 오류를 찾아 고치도록 돕는다 |
| 트레이서 | 실행 경로를 기록한다 |
문법 오류는 컴파일러가 잡아 주지만, 문법은 맞는데 결과가 틀린 논리적 오류는 디버거로 찾는다. 그것이 디버깅이다.
- 구문 오류 : 문법에 어긋난다. 컴파일 단계에서 걸린다
- 실행 오류 : 0으로 나누기처럼 실행 중에 생긴다
- 논리 오류 : 오류 없이 돌지만 결과가 잘못됐다. 가장 찾기 어렵다
