김시환 님이 쓰신 글 :
: 빌더 XE4 Pro 버젼을 사용하고 있는데 이번에 좀 황당한 에러가 발생되고 있어서 문의 드립니다.
:
: 장비 제어용 소프트웨어를 만들고 있는데 기존에 사용하던 소프트웨어를 업데이트 하는 과정에서 발생하였습니다.
:
: 기존 장비에서 온도제어를 위한 기능이 추가 되고 기존의 사용하던 USB Type의 GPIB 모듈을 Card 타입으로 교체하고
: 이에 따른 소프트웨어를 수정하던 중 수정을 마치고 컴파일까지 아무 문제없이 정상적으로 잘 되었습니다.
:
: 그런데 막상 프로그램을 실행하니 "floating point invalid operation at 0x00415a85" 에러가 뜨면서 실행이 전혀 안됩니다.
:
: 프로그램이 실행될때 특별히 floating 연산 수행하는 부분도 없는데 에러가 발생하네요..
:
: 소스코드상에 에러위치가 멈추지 않고 어셈블러 코드상에서 에러 위치가 걸려 있으니 뭘 조치해야 할지 감도 못잡겠고
: 해서 부득이 기존 소스를 다시 올려서 코드를 한줄 한줄 다시 올리면서 매번 컴파일과 실행을 하면서 원인을 찾아 갔습니다.
:
: 그런데 조금씩 그렇게 진행하던 중 어느 순간 동일한 증상이 나는데 이 코드는 Floating 하도 전혀 관계도 없는 소스라
: 그래도 혹시나 해서 코딩 순서를 변경해서 다른 코드 부터 해 보니 이번에는 또 다른 코드 추가 부분에서 동일한 증상이
: 나타 납니다. 컴파일러가 문제인가 싶어 다른 PC에서 동일한 순서로 진행해도 마찬가지 증상이 나타납니다.
:
: 그래서 새로 추가된 라이브러리에서 충돌이 나는가 싶어서 생각해 보니 동일한 구성을 가지 다른 장비에서는 전혀 이런 증상이
: 나오지 않았다는 것입니다. 따라서 라이브러리 충돌은 아니다라는 결론입니다.
:
: 원인이 도저히 찾아지지가 않아서 눈물을 머금고 다행히 소스량이 크지 않아서 처음부터 새로 코딩을 해 올리고 있는데
: 또 증상이 나올까봐 걱정이 되서 문의 드립니다.
:
: 동일한 경험이 있으시거나 원인을 아시면 답변을 좀 부탁드립니다.
:
:
에러 위치가 어셈블리 코드면 디버깅을 못하나요?
|