디버거
다른 대상 프로그램을 테스트하고 디버그하는 데 쓰이는 컴퓨터 프로그램 / From Wikipedia, the free encyclopedia
디버거(영어: debugger) 또는 디버깅 도구(debugging tool)는 다른 대상 프로그램을 테스트하고 디버그하는 데 쓰이는 컴퓨터 프로그램이다. 검사받는 코드는 명령어 집합 시뮬레이터 (ISS: Instruction set simulator) 위에서 돌아감으로 인해 특정한 조건에서 멈출 수 있는 강점을 갖지만, 직접 프로세서에서 실행될 때 보다는 느려진다. 몇몇 디버거들은 이 효과를 제한하기 위해 동작의 두 가지 모드를 제공하는데, 전체 또는 부분적 시뮬레이션이 그것이다.
소프트웨어 버그나 유효하지 않은 값에 의해서 프로그램이 정상적으로 진행되지 않는 것을 트랩이라고 한다. 소스 레벨 디버거 또는 심볼릭 디버거의 경우 프로그램이 트랩되거나 정해진 조건에 도달하면, 디버거는 원본 코드에서의 위치를 보여준다. 요즘에는 대부분의 통합 개발 환경에서 볼 수 있다. 만약 로우 레벨 디버거 또는 기계어 디버거라면 이것은 디스어셈블리에서의 위치를 보여준다.