디버거와 컴파일러의 차이점

Anonim

디버거와 컴파일러

일반적으로 컴파일러는 한 언어로 작성된 프로그램을 읽는 컴퓨터 프로그램입니다. 원어를 호출하고 대상 언어라고하는 다른 언어로 번역합니다. 전통적으로 소스 언어는 C ++와 같은 고급 언어 였고 대상 언어는 어셈블리 언어와 같은 저급 언어였습니다. 디버거는 다른 프로그램의 버그 / 오류를 찾는 데 사용되는 컴퓨터 프로그램입니다. 디버거를 사용하면 프로그래머는 한 지점에서 프로그램 실행을 중지하고 그 지점에서 변수 값과 같은 특성을 검사 할 수 있습니다.

디버거 란 무엇입니까?

디버거는 다른 프로그램의 버그 / 오류를 찾는 데 사용되는 컴퓨터 프로그램입니다. 디버거를 사용하면 프로그램을 실행하고 프로그램 실행의 각 단계를 검사 할 수 있습니다. 또한 어떤 시점에서 프로그램 실행을 중지하고 일부 변수 값을 변경 한 다음 실행을 계속할 수 있습니다. 이 모든 기능은 프로그래머가 프로그램이 올바르게 작동하는지 확인하고 코드의 버그를 식별하는 데 도움을주기 위해 제공됩니다. 대부분의 디버거는 한 단계 씩 프로그램을 실행하는 기능 (단일 스테핑이라고도 함)을 제공하며 중단 점을 제공하고 변수 값을 추적하여 프로그램의 현재 상태를 검사하기 위해 일시 ​​중지합니다. 일부 고급 디버거를 사용하면 프로그래머가 코드에서 충돌이나 논리적 오류를 일으키는 위치를 건너 뛰고 다른 위치에서 실행을 계속할 수 있습니다. 널리 사용되는 디버거 중 일부는 GNU Debugger (GDB), Microsoft Visual Studio Debugger 등입니다.

컴파일러 란 무엇입니까?

컴파일러는 소스 언어라고하는 한 언어로 작성된 프로그램을 읽고 대상 언어라고하는 다른 언어로 번역하는 컴퓨터 프로그램입니다. 대개 소스 언어는 고급 언어이고 대상 언어는 저급 언어입니다. 그래서, 일반적으로 컴파일러는 한 언어에서 다른 언어로 번역하는 번역자로 볼 수 있습니다. 또한 컴파일러는 코드를 최적화합니다. 일반적인 컴파일러는 몇 가지 주요 구성 요소로 이루어져 있습니다. 첫 번째 구성 요소는 스캐너 (어휘 분석기라고도 함)입니다. 스캐너는 프로그램을 읽고이를 토큰 문자열로 변환합니다. 두 번째 구성 요소는 파서입니다. 토큰 문자열을 구문 분석 트리 (또는 구문 트리)로 변환하여 구문 구조를 캡처합니다. 다음 구성 요소는 구문 구조의 의미를 해석하는 의미 론적 루틴입니다. 그 다음에 코드 최적화와 최종 코드 생성이 뒤 따른다.

디버거와 컴파일러의 차이점은 무엇입니까?

디버거는 다른 프로그램에서 버그 / 오류를 찾는 데 사용되는 컴퓨터 프로그램이며 컴파일러는 한 언어로 작성된 프로그램을 읽고 다른 언어로 번역하는 컴퓨터 프로그램입니다.컴파일러는 구문 오류 및 기타 컴파일 시간 오류를 감지 할 수있는 기능을 갖추고 있지만 디버거는 프로그램의 버그를 감지하기 위해 더 많은 기능 (예: 메모리 모니터링)을 제공합니다. 이 두 가지는 서로 다른 두 가지 프로그램이지만 대부분의 경우 디버거와 컴파일러가 단일 패키지에 통합되어 있습니다.