2.2.6. 디버그 정보 제어

다음 옵션은 이미지의 디버그 정보를 제어합니다.

--debug

출력 파일에 디버그 정보를 포함합니다. 디버그 정보에는 디버그 입력 섹션, 심볼 및 문자열 테이블이 포함됩니다. 이것이 기본값입니다.

--no_debug

출력 파일에 디버그 정보를 포함하지 않습니다. ELF 이미지는 더 작지만 소스 수준에서는 디버깅할 수 없습니다. 링커는 입력 오브젝트와 라이브러리 구성원에서 찾은 모든 디버그 입력 섹션을 폐기하고 심볼 및 문자열 테이블을 이미지에 포함하지 않습니다. 이 옵션은 디버거에 로드되는 이미지 크기에만 영향을 주고 타겟으로 다운로드되는 결과 이진 이미지에는 영향을 주지 않습니다.

이미지 대신 부분적으로 링크된 오브젝트를 만들 경우 링커는 입력 오브젝트에서 찾은 디버그 입력 섹션을 폐기하지만 부분적으로 링크된 오브젝트에서 심볼 및 문자열 테이블을 생성합니다.

Note

fromelf --fieldoffsets 단계가 필요할 경우, --no_debug를 사용하지 마십시오. 이미지가 디버그 정보 없이 생성되었을 경우, fromelf는 다음 작업을 할 수 없습니다.

  • 이미지를 파일 형식으로 변환

  • 의미있는 디스어셈블리 목록을 생성

--no_bestdebug

디버그 정보를 참조하지 않고 섹션을 선택합니다. 즉, 가장 작은 섹션을 선택합니다.

--no_bestdebug가 기본값으로 디버그를 위해 컴파일하는지 여부에 관계없이 최종 이미지의 코드 및 데이터가 동일하도록 합니다.

--bestdebug 옵션을 사용하여 최상의 디버그 뷰를 가진 섹션을 선택합니다. 디버그를 사용하여 또는 디버그 없이 빌드할 경우 최종 이미지의 코드 및 데이터가 동일하지 않을 수 있음에 유의하십시오.

--compress_debug

링커에서 .debug_* 섹션을 압축하여 일부 중복성을 제거하고 디버그 테이블 크기를 개선하도록 강제합니다.

디버그 테이블의 최적화는 기본적으로 해제됩니다. 그러나 --compress_debug 옵션을 사용하면 링크 타임이 더 길어집니다.

--dynamic_debug

링커에서 디버그 섹션의 동적 재배치를 출력하도록 강제합니다.

이 옵션을 사용하면 OS 인식 디버거 예를 들어, 리눅스 OS를 인식하는 RealView Debugger가 armlink에서 생성한 공유 라이브러리를 디버깅할 수 있습니다.

--dynamic_debug--sysv --sysv --shared 이미지와 공유 라이브러리와 함께 사용하십시오.

자세한 내용은 Chapter 6 System V 공유 라이브러리를 참조하십시오.

자세한 내용은 RealView Compilation Tools 버전 3.0 컴파일러 및 라이브러리 설명서에 있는 ARM 컴파일러 사용 방법을 설명하는 장의 디버그 정보 생성을 참조하십시오.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0206GK
Non-Confidential