-fomit-frame-pointer가 사용되면 (다양한 -O 설정에 대해 자동) 역 추적을 수행하는 것은 문제가됩니다. 코드가이 스위치로 컴파일 된 것을 컴파일 타임에 결정하는 방법이 있는지 궁금합니다. 이 경우, #ifndef를 넣으면 잘못 알려졌을 때 백 트레이싱을 방지 할 수 있습니다.프레임 포인터가 제거되지 않는다고 판단하는 gcc 매크로가 있습니까?
이 -fomit-frame-pointer 스위치가 켜져있을 때 매크로가 설정되어 있습니까?
감사합니다, 난 그냥이 시도
최적화는 -fomit-frame-pointer를 의미하며, 이것이 주요 문제라고 생각합니다. – qrdl
gcc 문서에 따르면, 최적화가 항상 프레임 포인터를 의미하는 것은 아닙니다. 이것은 아키텍처에 의존 할 수 있으며, 특정 최적화가 어떻게 디버그 기능에 영향을 미치는지에 달려 있습니다. 맨 페이지에서 : -O는 또한 디버깅을 방해하지 않는 컴퓨터에서 fomit-frame-pointer를 켭니다. –