죄송합니다.이 질문에 대한 답변이 이미 있었지만 관련이 없습니다. 디버거가 잘못 중단 점에 도달하면 Visual Studio 2013 C++ Win32 응용 프로그램에서 이상한 문제가 발생합니다. 다음은 샘플 코드입니다.잘못된 중단 점에 도달했습니다
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a = 3;
int b = 1;
for (int i = 3; i >= 1; i--)
if (i % 2)
a = a*a;
b++;
return b;
}
나는 b++
줄에 중단 점을 설정합니다. 나는 C# 코드를 디버깅 할 때 디버깅과 브레이크 포인트에 익숙하다. (그리고 C++의 초보자이기도하다.) 내 경험에 비추어 볼 때 b++
의 중단 점은 for 루프가 종료 될 때만 히트해야한다. 그러나 각 루프 반복마다 발생하지만 코드 (증가)는 실행되지 않습니다. 다음은 관련 정보가 포함 된 VS의 스크린 샷입니다.
릴리스 구성을 실행하고 있습니까? 일부 라인이 최적화되어 있고 PDB의 라인 번호가 맞지 않을 수도 있습니다. 이러한 이유로 우리는 종종 _Noopt_ builds를 사용합니다.이 빌드는 기본적으로 Release와 같지만 최적화가 비활성화되어 있습니다 (물론 전체 디버그 구성을 사용하지 않으려는 경우). – PuerNoctis
정리 빌드를 가지고 있는지 확인하고 정리하십시오. – AlexTheo
1) 아니오, 디버그 모드로 실행 중입니다. 2) 현지인의 결과는 정확하지만이 시점에서 중단 점에 도달해서는 안됩니다. – Crypt32