C# 편집하며 계속하기: 오류 4033
편집하며 계속하기 기능을 사용하는 동안 finally 블록이 활성화되어 있을 때 try/catch/finally 문을 수정하면 디버그 세션을 계속할 수 없습니다.
이 오류는 상응하는 finally 블록에 활성 문이 포함되어 있는 try, catch 또는 finally 문을 편집하려 할 때 발생합니다. 이 오류는 활성 문이 포함된 프레임이 호출 스택의 위쪽에 있지 않은 경우에만 발생합니다. 자세한 내용은 활성 문를 참조하십시오.
다음과 같은 예제 코드를 생각해 볼 수 있습니다.
class Program
{
static void Example() { }
static void Main(string[] args)
{
try
{
int a = 100;
}
finally
{
Example();
}
}
}
Example에 대한 호출에 중단점을 설정한 다음 응용 프로그램 디버깅을 시작하고 a = 100을 a = 10으로 변경하면 이 오류가 발생합니다.
이 오류를 해결하려면
변경 내용을 취소한 다음 변경 내용 없이 디버깅을 계속합니다. 나중에 문이 활성 상태에서 벗어나면 원하는 내용을 변경할 수 있습니다.
- 또는 -
디버그 메뉴에서 디버깅 중지를 클릭하고 필요한 변경 작업을 수행한 다음 새 디버깅 세션을 시작합니다.