none
F5로 디버그시 네이티브 프로그램이 강제 종료됩니다. Ctrl + F5로 디버그하기 않고 실행시에는 정상 출력됩니다. RRS feed

  • 질문

  • F5로 디버그시 네이티브 프로그램이 강제 종료됩니다. Ctrl + F5로 디버그하기 않고 실행시에는 정상 출력됩니다. 무엇이 문제인가요?
    2010년 12월 24일 금요일 오전 4:25

모든 응답

  •  디버그 모드로 실행하면 종료 된다.  그냥 실행 하면 정상 출력 된다.

    이럴경우 대부분 메모리 침범이 문제가 되는경우라고 소심하게  생각해 봅니다. -_-;;

    우선 실행은 같은 코드를 실행 하는데 두 방법의 차이는 CRT 메모리 관리자에서 차이가 납니다.

    F5로 실행 시킬경우 동적 메모리 할당을 했을 경우 메모리 오버플러를 검출 하려고 0xabababab 같은 메모리나 많은 디버그 정보들을 포함하는 메모리를 잡고 그 중간에 위치한 우리가 요청한 만큼의 메모리 시작 포인트를 넘겨줍니다. Ctrl + F5로 실행 할경우 가드바이트(0xabababab)를 안잡습니다.

     메모리를 잡는 양의 차이가 두 방식에서의 차이점이기 때문에 의심히 가는 부분은 메모리 침범이라고 생각되요.

     강제 종료 될때 디버깅을 하셔서 호출 스택을 살펴 본다던지 뜨는 메시지를 질문 하심이 좋을 듯 합니다.

    2011년 1월 21일 금요일 오전 7:38