다음을 통해 공유


C# 편집하며 계속하기: 오류 4032

편집하며 계속하기 기능을 사용하는 동안 try 블록의 활성 문에 있는 catch/finally 처리기를 수정하면 디버그 세션을 계속할 수 없습니다.

이 오류는 활성 문이 있는 try 블록의 catch 또는 finally 처리기를 편집할 때 발생합니다. 이 오류는 활성 프레임이 호출 스택의 맨 위에 있지 않은 경우에만 발생합니다. 편집하며 계속하기에서는 catch 및 finally 처리기를 읽기 전용으로 표시하므로 이 오류는 매우 드문 경우에만 발생합니다.

다음과 같은 예제 코드를 생각해 볼 수 있습니다.

#define EXAMPLE

class Program

{

   static void Example()

   {

      ...

   }

   static void Main(string[] args)

   {

      try

      {

         Example();

      }

#if EXAMPLE

      catch

      {

       ...

      }

#else

      catch(exception e)

      {

         ...

      }

#endif

   }

}

Example에 대한 호출에 중단점을 설정한 다음 #define EXAMPLE을 #define EXAMPLE2로 변경하면 이 오류가 발생합니다.

이 오류를 해결하려면

  • 변경 내용을 취소한 다음 변경 내용 없이 디버깅을 계속합니다. 나중에 문이 활성 상태에서 벗어나면 원하는 내용을 변경할 수 있습니다.

    - 또는 -

    디버그 메뉴에서 디버깅 중지를 클릭하고 필요한 변경 작업을 수행한 다음 새 디버깅 세션을 시작합니다.

참고 항목

참조

try-catch-finally(C# 참조)

지원되는 코드 변경(C#)

편집하며 계속하기(Visual C#)

기타 리소스

편집하며 계속하기의 오류 및 경고(C#)