본문 바로가기

SW 개발 공부/실수 기록

stm32cube ide Dynamic printf 중 변수 optimized out.

이슈사항)

stm32cube ide에서 Dynamic printf로 디버깅중, 특정 변수에 대해서 optimized out 이라는 에러 메시지가 출력되었다.

 

해당 이슈의 원인은 디버깅중 최적화로 인해 해당 변수의 값이 사라진것이다.

해당 이슈를 해결하기 위해선 최적화 설정을 변경해주면 된다.

 

방법은 다음과 같다.

 

Properties -> C/C++ Build -> Setting -> Tool Setting ->Optimization 에서 Optimization Level을 None(-O0)으로 변경하면 된다.

 

 

혹은 보고자 하는 변수를 최적화에 영향받지 않도록 volatile로 선언하면 되지만, 오직 디버그를 위해서 해당변수를 volatile로 선언하는것은 바람직하지 않다.