디버그 심볼(영어: debug symbol)은 주어진 실행 가능한 모듈에서 특정한 기계어에 의해 생성된 프로그래밍 언어 구조를 표현하는 정보이다.
가끔 심볼릭 정보는 모듈의 바이너리 파일 또는 나뉘어서 배포되는 파일과 함께 컴파일되거나 컴파일 또는 링킹 시에 버려진다.
이 정보는 심볼릭 디버거를 사용하는 사람이 변수나 원본 소스 코드에서의 루틴들의 이름 같은 바이너리에 관한 추가적인 정보를 얻게 한다. 이 정보는 충돌한 응용 프로그램을 조사하거나 고칠 때 큰 도움이 될 수 있다.
디버그 심볼이 바이너리 자체에 삽입되면 파일은 상당히 커질 수 있다.
이 추가적인 크기를 줄이기 위해, 현대의 컴파일러는 심볼릭 정보를 분리된 파일에 출력한다.
마이크로소프트에서 이 파일은 PDB라고 불린다.
WinDBG 디버거는 윈도우 DLL들에 대한 심볼을 자동으로 다운로드하도록 설정될 수 있다.
마이크로소프트나 모질라는 또한 디버깅을 쉽게 하기 위해 소스 코드를 제공한다
(마이크로소프트의 경우는 닷넷 프레임워크 같은 특정한 요소만 제공한다).
애플은 애플 OS를 위한 "Symbolicate"(디버그 심볼 생성이라는 뜻)라는 용어를 사용한다.
'프로그래밍 > C++' 카테고리의 다른 글
응집도 - 결합도 (Cohesion - Coupling) (0) | 2019.07.05 |
---|---|
절차지향 + 객체지향 (0) | 2019.05.01 |
페이지 폴트 + 가상메모리 시스템 (0) | 2019.05.01 |
CAST 종류 + RTTI (0) | 2019.04.30 |
virtual 순수가상함수 + 가상함수테이블 (0) | 2019.04.30 |