2013-01-08 1 views
1

디버거는 ... 그들은 어떻게 소스 코드에 줄 번호를 추적 ?디버거는 소스 코드의 줄 번호를 어떻게 알 수 있습니까?</p> <p>내가 디버거가 실행되는 동안 컴퓨터 코드를 작동하기 때문에 궁금 등 이클립스, 넷빈즈, 비주얼 스튜디오에있는 것과 같은

높은 수준의 명령어에는 기계 언어 명령어가 있고 다른 명령어에는 기계어 명령어가 없을 수 있으므로 라인 번호를 추적하는 것이 매우 어렵지 않습니까?

답변

3

디버깅 플래그 (예 : gcc -g ...)로 코드를 컴파일하면 컴파일러에서 소스 파일 및 줄 번호에 대한 정보를 컴파일 된 이진 파일에 삽입하여 디버거가 런타임 중에이 정보를 사용할 수 있도록합니다. This answer은 디버깅 기호에 대해보다 자세히 설명합니다.

+0

디버그 버전과 릴리스 버전의 차이점은 무엇입니까? – Sam

+1

아니요. 디버그 버전과 릴리스 버전간에 차이가있을 수 있지만 일반적으로 디버깅 빌드에는 다양한 추가 로깅, 콘솔 출력, 추가 테스트 및 코드의 오류 식별 작업을 쉽게하기위한 다른 코드가 포함됩니다. 정말로 "디버그 버전"은 코드 작성자가 원하는 모든 것입니다. – larsks

관련 문제