다음을 통해 공유


디버거 명령 및 기능의 제한 사항

이 항목은 다음 제품에 적용됩니다.

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

ms165035.DoesApplybmp(ko-kr,VS.100).gif ms165035.DoesApplybmp(ko-kr,VS.100).gif ms165035.DoesApplybmp(ko-kr,VS.100).gif ms165035.DoesNotApplybmp(ko-kr,VS.100).gif

Visual Studio Transact-SQL 디버거에서는 대부분의 일반적인 디버깅 기능을 사용할 수 있습니다.Transact-SQL 디버깅에서는 중단점 설정 및 한 단계씩 코드 실행과 같은 대부분의 디버거 명령을 지원합니다.변수와 전달된 매개 변수의 값은 지역 창에서 볼 수 있습니다.또한 식을 조사식 창으로 끌어 프로시저의 코드를 한 단계씩 실행하거나 프로시저 단위로 실행하면서 식을 추적할 수도 있습니다.

그러나 Transact-SQL 디버깅은 SQL Server 자체의 일부 기본 특징으로 인해 매우 다른 환경에서 수행됩니다.이러한 차이점으로 인해 Transact-SQL 디버깅에는 몇 가지 제한 사항이 적용됩니다.

SQL Server를 사용하여 디버깅하는 경우의 일반적인 제한 사항

  • 편집계속을 사용할 수 없습니다.

  • 호출 스택 창에서 커서까지 실행을 사용할 수 없습니다.

  • Transact-SQL 문이 처리되는 동안 중단을 사용할 수 없습니다.

  • SQL PRINT 문의 출력이 디버거나 데이터베이스 출력 창에 나타나지 않습니다.

  • Visual Studio의 자동 롤백을 사용할 수 없습니다.데이터를 변경하는 버그를 재현하면 데이터가 변경되기 때문에 버그가 없어질 수 있습니다.

  • 사용할 수 없거나 아무 기능도 제공하지 않는 창이 많습니다.다음 창이 여기에 포함됩니다.

    • 메모리

    • 레지스터

    • Transact-SQL 디스어셈블리

Transact-SQL 디버깅 제한 사항

  • 중단점 조건 및 필터가 지원되지 않습니다.

  • SQL Server에는 실제 메모리나 레지스터가 없기 때문에 메모리 창이나 레지스터 창을 사용할 수 없습니다.

  • 다음 문 설정을 사용하여 실행 순서를 변경할 수 없습니다.Transact-SQL 코드의 흐름 제어 및 문 순서를 따라야 합니다.이 문제를 해결하기 위해 Transact-SQL 코드 블록 주위에 제어문을 넣고 변수 값을 변경할 수 있습니다.

  • Transact-SQL 개체 내에서 .NET Framework 변수 또는 속성에 액세스할 수 없습니다.

  • 직접 실행 창이 표시되지만 이 창을 사용하여 변수를 값으로 설정하거나 데이터베이스를 쿼리하는 것과 같은 유용한 작업을 수행할 수 없습니다.

  • 사용할 수 없거나 아무 기능도 제공하지 않는 창이 많습니다.다음 창이 여기에 포함됩니다.

    • 디스어셈블리

    • 스레드

    • 레지스터

    • 프로세스

    • 모듈

참고 항목

개념

Transact-SQL 디버깅 제한 사항

Transact-SQL 디버깅