|
말씀하신대로, VC DLL(외부업체에서 만들어서 제공하는)의 버그였습니다.
DLL내에서 메모리 사용후 해제등을 적절하게 안시켜줘서 발생되는 문제로 추정이 됩니다.
이상한건 BDS2010에서는 해당 함수 호출후 다운(blocking)되고,
XE2에서 동일하게 실행 시켜보면 exception을 띠웁니다.
물론 둘다 디버그 모드(IDE)환경내에서 동작 시킬때지요.
아마 두버전의설정 차이가아닐까도 하고...
프로젝트 옵션 설정이너무 많아서....정확하게 나온 문서도 없는것 같고...
처음에는 BDS2010을 사용하니, 내 문제려니...해서 여러가지를 살펴보았는데
EXE에서는 동작되는것이 뭔가 수상하게 느껴져 XE2를 깔고
돌려보았더니, 바로 에러가 발생되어
해당 DLL제작자 수정을 요구하고 기다리고 있는중입니다.
현재 중국 출장 중인데, 현지에 나와서 이런일이 발생하면 참 괴롭군요.
Lyn님과 박지훈님 답변 주셔서 감사합니다.
데브기어도 기술지원이 빵빵하게 되어야 하는데,
이런 문제로 F/B해야 답이없고, 천상 볼랜드밖에 믿을 구석이없군요..
총총
박지훈.임프 님이 쓰신 글 :
: 서너번 비슷한 경험을 한 적이 있었는데, 모두 VC로 만든 모듈 쪽의 버그였습니다.
: VC쪽 개발자의 코딩 오류였는데, 그게 드러나지 않다가 디버그모드로 연결한다든지 하는 특정 상황에서만 발생하더군요.
:
: 짜증날 정도로 꽤 시간이 흐른 후에야 그쪽 개발자들이 찾아내곤 했네요.
: 물론 제가 웬만해선 버그를 안만드는 스타일의 코딩을 하기 때문일 수도 있습니다만...
:
: VC쪽 개발자가 기분 상하지 않을 정도로 코드 리뷰를 해보도록 적당히 구슬려보시는 것이... ^^
:
:
:
: 비베시러 님이 쓰신 글 :
: : 안녕하세요
: : 외부 DLL을 사용하고 있습니다. (LoadLibraray, GetAddress로 함수를 얻어서 사용)
: :
: : VC로 만들어진 DLL인데,
: : 디버그모드에서는 구동하면 특정 함수에서 blocking되어 뻗어 버리고
: :
: : 컴파일 하여 생성된 exe로는 돌아가는 현상이 생기고 있습니다.
: : 사용 컴파일러는 BDS2010이고 서비스팩 4까지 최신으로 업데이트 되어 있습니다.
: :
: : 어떤 부분을 체크해 봐야 할 지 여쭤봅니다.
: :
: : 비슷한 경험을 하신 분들의 고견을 알려주시면 많은 도움이 되겠습니다.
: :
: : 감사합니다.
|