최적화시에만 나타나는 오류

dalmagi의 이미지

최적화를 하지 않을 때는 문제가 없는데 최적화 레벨 -O1 만 주어도 문제가 생기며 중단됩니다.

최적화시에만 나타난다고 해도 분명 어딘가 문제가 있기 때문인 것은 이해하고 있는데, 어떻게 해야 잡을 수 있나요? 그냥 라인마다 찍어보는 수 밖에 없는 건가요? 전에 비슷한 문제를 그런식으로 해결한 적이 있는데 내가 잘 모르는 소스이다 보니 그것도 완전 중노동이더군요. 좀 더 나은 해결책은 없는지 궁금합니다.

empty2fill의 이미지

어떤 문제인가요? 구체적으로 알려주세요.

결과 값이 잘못 나오는지, 아니면 코드 실행(분기)가 달라진다던지, 메모리 에러가 난다던지요.

특별히 컴파일러에 버그가 있지 않고서는 변수 값 초기화 문제가 아닐까 의심됩니다.

변수 초기화 부분을 주의 깊게 살펴보세요.

——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -

세벌의 이미지

gcc -Wall 
라스코니의 이미지

core dump를 받아서 보시는게 빠를 듯 하네요.

dalmagi의 이미지

해결 했습니다.
알고보니 동적 라이브러리쪽에 문제의 여지가 있어서 컴파일시 아무런 경고도 받을 수 없던 것이었습니다.
그냥 감대로 값을 찍어보며 추적해봤는데 생각보다 빨리 해결했네요. ^^;
답변들 모두 고맙습니다.

화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.