Boolean isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
당신은 당신이 이런 식으로해야합니까 빌드 디버그 및 릴리스 사이의 다른 동작을 프로그래밍하려면 : 당신이 기능의 디버그 버전에서 특정 검사를 수행하려는 경우
가
#if DEBUG
int[] data = new int[] {1, 2, 3, 4};
#else
int[] data = GetInputData();
#endif
int sum = data[0];
for (int i= 1; i < data.Length; i++)
{
sum += data[i];
}
또는 당신이 그것을 할 수 이렇게 :
public int Sum(int[] data)
{
Debug.Assert(data.Length > 0);
int sum = data[0];
for (int i= 1; i < data.Length; i++)
{
sum += data[i];
}
return sum;
}
Debug.Assert
은 릴리스 빌드에 포함되지 않습니다.
는 JIT 최적화 된 빌드에 대해 묻는 OP인가? 그렇다면이 대답은 정확하지 않습니다. Debug 속성은 JIT Optimized 빌드에서 선언되거나 최적화되지 않을 수 있습니다. –