어제 근 한달간의 장비 셋업을 마무리하고 마지막 컴파일을 릴리즈 모드로 한 후 실행파일을 만들어 장비를 돌렸습니다.
빌더 XE4로 작업을 했습니다.
그런데 프로그램 디버깅할 때 전혀 발생하지 않았던 Floating Point 에러가 계속해서 발생을 하면서 프로그램이 정지해 버리더군요..
그래서 혹시나해서 디버그모드로 다시 컴파일한 실행파일로 돌려 보았습니다.
아무 문제없이 정상적으로 잘 돌아갑니다.
원인을 찾으려고 디버그 모드로 돌려도 에러가 안나오니 딱히 브레이크가 걸리지도 않습니다.
그래도 혹시나 하고 소스를 찬찬히 훝어 보아도 딱히 눈에 들어오는 부분이 없습니다.
부동소수점 연산은 가능하면 try catch 문으로 처리를 하거나 , 나눗셈 연산의 경우 무조건 if 문으로 처리를 했습니다.
그럼에도 불구하고 몇번이고 릴리즈 모드로 컴파일하면 에러가 발생을 하면서 정지해 버리는 군요..
파일크기가 릴리즈 모드로는 1/10 크기로 줄어드는데 그가야 디버깅 정보가 빠지면서 그럴거라고 생각이 들지만 그렇다고 실행자체에 차이가 생기는 부분은 이해가 되지를 않습니다.
뭐 어차피 실행파일이라고 해봐야 디버깅모드로 5메가 정도니 크게 신경안쓰고 사용하면 되겠지만
그래도 이건 아니다 싶어서 이렇게 글을 올려 봅니다.
이런 경험들이 혹시 있으신지요?? 아니면 컴파일시 뭔가 설정이 필요할까요???
|