2017-12-02 1 views
1

데이터베이스의 테이블에서 검색 한 1000 개의 데이터 행을 포함하는 루프가 있다고 가정 해 봅니다. 데이터의 일부 null 필드로 인해 발생하는 오류가 있습니다. 어떻게 루프를 디버깅하는 동안 모든 항목을 이동하지 않고도 오류가 발생하는 행을 칠 수 있습니까?Visual Studio에서 디버깅하는 동안 어떤 행의 오류가 발생하는지 알아 보는 방법은 무엇입니까?

편집 : null 입력란이 원인입니다. 다른 문제로 인해 발생할 수 있습니다. 과거에 루프 내부의 데이터와 관련된 몇 가지 문제가 발생했기 때문에이 질문을 던졌습니다. 지금까지 ... 나는 임시 캐치 시도를 포함시키는 vivek의 충고가 좋다고 생각합니다. 그래서 여기서 널 기록을 확인하면 어디 [필드 명] ISNULL

는 C#을 루프 그냥 사용자가 취해야 할 Managment를 스튜디오 데이터 테이블에서

선택 *을 통과하면 다음과 같이

+1

어떤 데이터베이스 기술을 사용하고 있습니까? 또한 관련 코드를 포함하십시오. – dotNET

+1

아마 당신이 설명하는 루프를 게시하는 좋은 생각, 나는 이것이 ADO를 사용하고 있다면 아마도'reader.Read()'를 사용하여 SqlDataReader를 반복하여 문제가되는 행을 날려 버릴 것이라고 생각합니다. 또한 Visual Studio에서 모든 예외를 중단하도록 설정했는지 확인하십시오. 디버그 -> Windows -> 예외 -> 공용 언어 런타임 예외가 VS 2017에 체크인되었습니다. –

+0

코드를 게시 할 수 있습니까? – Haytam

답변

1

디버깅 목적으로 만 루프 내에 try...catch을 넣으십시오. catch 블록에 중단 점을 넣습니다. 예외가 발생할 때마다 현재 행에 액세스 할 수 있습니다.

일단 디버깅이 완료되면 try...catch을 루프에서 제거하는 것을 잊지 마십시오.

+0

고마워요 ...이 의미가 있습니다. – Illay

+0

@ 도움이되면 도움이 될만한 대답으로 표시하는 것이 좋습니다. –

2

유는 널 (null)을 casuing 데이터 필드를 알 수 있습니까 catch 및 Debug.print를 사용하여 레코드 번호를 기록하십시오.

관련 문제