자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder 디버깅 모드에서 실행과 그냥 실행파일 실행시 동작이 틀린 이유??
2016.02.15 16:23
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
빌더 XE4 를 이용해서 장비제어 프로그램을 하고 있습니다.
그런데 최근 개발한 장비가 디버깅 모드에서의 동작과 실제 컴파일된 exe 파일을 실행하는 것에 동작의 차이가
발생하는데 그 이유가 있을까요??
예를 들면 디버깅 모드에서 돌렸을 때는 어떤 에러도 나오지 않고 정상적으로 잘 돌아가던 녀석이 실행파일 상태에서
돌아가면 특정 기능이 동작이 안돼어서 에러를 만들고 장비를 세워 버리는 증상이 나오고
또 디버깅모드에서는 택타임이 10초 걸리던 것이 일반 실행에서는 20초 이상 걸린다고 합니다.
실행파일은 따로 릴리즈 모드로 컴파일 하지 않고 디버깅 모드에서 만들어진 실행파일을 그대로 사용했습니다.
예전에 릴리즈 모드로 컴파일한 실행파일과 디버깅 모드로 컴파일한 실행모드 사이에도 비슷한 문제가 발생했던
경험이 있어서 릴리즈 모드로는 컴파일 하지 않고 사용하고 있습니다.
Disable all optimizations. - true 로 되어 있습니다.
댓글 2
C++ Builder 디버깅 모드에서 실행과 그냥 실행파일 실행시 동작이 틀린 이유??
2016.02.15 16:23
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
빌더 XE4 를 이용해서 장비제어 프로그램을 하고 있습니다.
그런데 최근 개발한 장비가 디버깅 모드에서의 동작과 실제 컴파일된 exe 파일을 실행하는 것에 동작의 차이가
발생하는데 그 이유가 있을까요??
예를 들면 디버깅 모드에서 돌렸을 때는 어떤 에러도 나오지 않고 정상적으로 잘 돌아가던 녀석이 실행파일 상태에서
돌아가면 특정 기능이 동작이 안돼어서 에러를 만들고 장비를 세워 버리는 증상이 나오고
또 디버깅모드에서는 택타임이 10초 걸리던 것이 일반 실행에서는 20초 이상 걸린다고 합니다.
실행파일은 따로 릴리즈 모드로 컴파일 하지 않고 디버깅 모드에서 만들어진 실행파일을 그대로 사용했습니다.
예전에 릴리즈 모드로 컴파일한 실행파일과 디버깅 모드로 컴파일한 실행모드 사이에도 비슷한 문제가 발생했던
경험이 있어서 릴리즈 모드로는 컴파일 하지 않고 사용하고 있습니다.
Disable all optimizations. - true 로 되어 있습니다.
저도 정확한 원인이 뭐다라고 딱부러지게 답변드리기 어렵네요.
원인을 직접 찾아보셔야 할 것 같습니다.
실행파일 상태에서 오류가 난다고 하셨는데요. 정확히 어떤 코드에서 발생하는 오류인지 추적해서 원인을 찾아보시기 바랍니다.
다음 글을 참고하시면 실행 시 디버깅 메시지를 출력해 추적해보시기 바랍니다.
http://tech.devgear.co.kr/delphi_news/420011
오류 발생이 의심되는 코드 전/후에 디버그 메시지를 기록하고 어떤 메시지까지 출력되는지 확인하는 과정을 반복하시면 어떤 코드에서 문제가 발생하는지 추적할 수 있을 것입니다.
아마 릴리즈 모드도 원인은 비슷할 것으로 보이니 이참에 해결해보시기 바랍니다.
해결되시면 꼭 답변 주시기 바랍니다.