|
네... 그렇군요..
쉽게 잡기 힘든 문제인 것 같네요..
감사합니다... ^^
Nibble 님이 쓰신 글 :
: 여러가지 요인이 있을 수 있습니다만,
: 가장 빈번하게 발생하는 문제는 메모리 경계의 침범입니다.
: 배열의 인덱스나, 포인터의 어드레스 참조가 정상적으로 할당한 메모리 범위를 벗어나지 않는지를 확인해 보세요.
: 각 함수의 진입과 종료 단계에 로그를 남기시면, 어디에서 오류가 났는지 오류의 위치를 한정할 수 있으실테구요.
: 이러한 메모리 경계침범의 양상이 디버그모드와 릴리즈 모드에서 다르게 나타나는건,
: 두 모드에서의 데이타 영역 할당 위치와 간격이 달라지기 때문입니다.
: 디버그 모드쪽이 상대적으로 더 많은 메모리를 사용하게 되고 간격도 넓어지게 되거든요.
: 그래서 소소한 메모리 침범이 크리티컬한 결과를 보여주지 않는 경우가 생기는거죠.
:
: 왜그럴까? 님이 쓰신 글 :
: : C++ Builder 2010을 사용하는 초보입니다.
: : Debug모드에서는 아무런 오류없이 잘 도는데, Release에서는 특정 시점에 오류가 발생합니다.
: :
: : 소스코드 어느 부분(몇번째 라인)에서 오류가 나는지 확인할 방법이 있나요?
: : 그리고, 이런 경우 어떤 조치를 취해야 하나요?
: :
: : 코드만 봐서는 전혀 문제될 부분이 없고.. Degub에서는 아무 이상 없이 잘 돌아가는데.. Release모드로 컴파일시에는 계속 같은 시점에 오류가 발생하네요..
|