디버그 정보 및 높은 최적화

기술노트 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" 챕터에서 찾을 수 있습니다.

 

모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.