디버그 정보 및 높은 최적화
기술노트 62015
아키텍처:
ARM
컴포넌트:
debugger
업데이트:
2021-06-04 오전 2:22
소개
본 기술 노트는 최적화 수준 '높음'에서 신뢰할 수 있는(신뢰할 수 없는) 정보에 대해 설명합니다.
배경
IAR C/C++ 컴파일러의 최적화 시스템은 가능한 작고/또는 빠른 출력을 목표로 하는 여러 부분(parts)들로 구성됩니다. 이러한 부분들이 활성화되면, 컴파일러가 생성하는 디버그 정보의 신뢰성은 점점 낮아집니다.
신뢰할 수 있는 정보는...
...타겟 시스템에서 수집한 정보를 보여주는 C-SPY 창에서 제공됩니다. 예를 들어 다음 창:
- Disassembly 창
- Memory 창
- Register 창
- Stack 창
- Call Stack 창
신뢰할 수 있는(대부분의 경우) 정보
이러한 창은 대부분의 경우 신뢰할 수 있지만, 최적화로 인해 쓰기가 이동되었을 수 있습니다. 즉, 값 쓰기가 아직 수행되지 않았을 수 있습니다. 이는 예를 들어 다음 창에 적용됩니다.
- Statics 창
- Symbolic Memory 창
- Symbols 창
신뢰할 수 없는 정보
디버그 정보를 기반으로 정보를 표시하는 C-SPY 창은 신뢰할 수 없게 됩니다. 예를 들어 다음 두 개의 창:
- Watch 창
- Locals 창
- Auto 창
- Live Watch 창
- Quick Watch 창
자세한 정보
더 자세한 정보는 Help > C-SPY Debugging Guide에 "Effects of optimizations" 챕터와 Help > C/C++ Development Guide에 "Optimization Levels" 챕터에서 찾을 수 있습니다.
모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.