다음을 통해 공유


LINQ to DataSet 쿼리 디버깅

Visual Studio는 LINQ to DataSet 코드의 디버깅을 지원합니다. 그러나 LINQ to DataSet 코드 디버깅과 비 LINQ to DataSet 관리 코드 간에는 몇 가지 차이점이 있습니다. 대부분의 디버깅 기능은 디버거 창에 표시되는 단계별 실행, 중단점 설정 및 결과 보기를 포함하여 LINQ to DataSet 문에서 작동합니다. 그러나 지연된 쿼리 실행에는 LINQ to DataSet 코드를 디버깅하는 동안 고려해야 하는 몇 가지 부작용이 있으며 편집 및 계속 사용에 대한 몇 가지 제한 사항이 있습니다. 이 주제에서는 비-LINQ to DataSet 관리 코드와 비교하여 DataSet에 특화된 LINQ의 디버깅 측면을 논의합니다.

결과 확인

DataTips, 조사식 창 및 빠른 조사식 대화 상자를 사용하여 LINQ to DataSet 문의 결과를 볼 수 있습니다. 원본 창을 사용하면 원본 창의 쿼리에서 포인터를 일시 중지할 수 있으며 DataTip이 표시됩니다. LINQ to DataSet 변수를 복사하여 조사식 창 또는 빠른 조사식 대화 상자에 붙여넣을 수 있습니다. LINQ to DataSet에서 쿼리는 만들거나 선언할 때 평가되지 않고 쿼리가 실행될 때만 평가됩니다. 이를 지연된 실행이라고 합니다. 따라서 쿼리 변수는 평가될 때까지 값이 없습니다. 자세한 내용은 LINQ to DataSet의 쿼리를 참조하세요.

디버거는 쿼리 결과를 표시하기 위해 쿼리를 평가해야 합니다. 이 암시적 평가는 디버거에서 LINQ to DataSet 쿼리 결과를 볼 때 발생하며 고려해야 할 몇 가지 효과가 있습니다. 쿼리의 각 평가에는 시간이 걸립니다. 결과 노드를 확장하는 데 시간이 걸립니다. 일부 쿼리의 경우 평가가 반복되면 성능 저하가 발생할 수 있습니다. 쿼리를 평가하면 부작용이 발생할 수도 있습니다. 이는 데이터 값 또는 프로그램 상태에 대한 변경입니다. 모든 쿼리에 부작용이 있는 것은 아닙니다. 쿼리를 부작용 없이 안전하게 평가할 수 있는지 여부를 확인하려면 쿼리를 구현하는 코드를 이해해야 합니다. 자세한 내용은 부작용 및 식을 참조하세요.

편집하고 계속하기

편집하며 계속하기는 LINQ to DataSet 쿼리에 대한 변경 내용을 지원하지 않습니다. 디버깅 세션 중에 LINQ to DataSet 문을 추가, 제거 또는 변경하면 편집하며 계속하기에서 변경이 지원되지 않는다는 대화 상자가 나타납니다. 이 시점에서 변경 내용을 실행 취소하거나 디버깅 세션을 중지하고 편집된 코드로 새 세션을 다시 시작할 수 있습니다.

또한 편집하며 계속하기는 LINQ to DataSet 문에 사용되는 변수의 형식 또는 값 변경을 지원하지 않습니다. 다시 한 번 변경 내용을 실행 취소하거나 디버깅 세션을 중지하고 다시 시작할 수 있습니다.

Visual Studio의 Visual C#에서는 LINQ to DataSet 쿼리를 포함하는 메서드의 코드에서 편집 및 계속을 사용할 수 없습니다.

Visual Studio의 Visual Basic에서는 LINQ to DataSet 쿼리가 포함된 메서드에서도 LINQ to DataSet이 아닌 코드에서 편집 및 계속을 사용할 수 있습니다. 변경 내용이 LINQ to DataSet 쿼리의 줄 번호에 영향을 주더라도 LINQ to DataSet 문 앞에 코드를 추가하거나 제거할 수 있습니다. LINQ to DataSet이 아닌 코드에 대한 Visual Basic 디버깅 환경은 LINQ to DataSet이 도입되기 전과 동일하게 유지됩니다. 그러나 변경 내용을 적용하기 위해 디버깅을 중지하지 않는 한 LINQ to DataSet 쿼리를 변경, 추가 또는 제거할 수 없습니다.

참고하십시오