2014-10-22 2 views
3

디버깅 관리자에서 null를 보여줍니다 당신이 볼 수 있듯이 나는 루프를 가지고 enter image description here통해 인스턴스 지역 변수는 Visual Studio에서 일부 비동기 코드를 디버깅 할 때 나는 이상한 문제가 발생하고있어

을 그 9를 IEnumerable을 반복 인스턴스화 된 객체 (끔찍한 명명법, 내 DB가 아님 ...) i은이 경우 0이므로 elementAt는 betaling 변수의 첫 번째 항목을 넣어야합니다. 이 올바르게 발생,이 코드는 완벽하게 실행하지만 디버거에서이 널 (null)로 보여줍니다

enter image description here

내가 디버깅을 계속하면, 모든 것이 정상의 betaling 변수가 여러 줄의 코드에서 사용하고있다 DB에 올바르게 저장되므로 개체를 null로 표시하는 디버그 관리자 만 사용합니다. 그러나 디버깅 할 때 아무 것도 볼 수 없으므로 매우 짜증 스럽습니다. 나는 비동기 대기로이 작업을해야한다고 생각합니다. 이 루프 전에 여러 DB가 기다리고 있습니다. 그리고 루프에 betaling 개체를 저장하는 것도 방법을 기다리고 있습니다. 그러나 테스트 프로젝트에서이 동작을 재현하려고하면 모든 것이 제대로 작동합니다.

비동기 메서드에서 다른 위협의 속성에 액세스 할 때 문제가 발생할 수 있으며 VM에서이 코드를 호출하지만 왜 목록을 검사 할 수 있습니까? 나는 이것을 버그라고 의심하고 있으며, 그렇지 않은 경우 코드 행을 따라갈 수 있지만 일부 속성을 검사 할 수 없다는 것은 확실히 이상한 '기능'입니다.

VIsual Studio 2012 및 2013, 둘 다에서 동일한 동작.

+1

문제를 볼 수있는 작지만 완벽한 코드 샘플을 게시 할 수 있습니까? – svick

+1

나는 또한 이것을 본다. 나는 VS 2013 Ultimate + Update 5를 가지고 있습니다 – Nayan

+0

호기심에서, 당신은 당신의 코드에서 일리노이를 사용하고 있습니까? 대부분의 ORM은 일리노이를 사용하므로 코드베이스에 존재하기 위해 직접 작성하지 않아도됩니다. 내가 가능한 원인을 좁히려 고 노력 중이 야,이 게시물은 동일한 문제가 될 수 있으며 그 사용자는 또한 IL을 사용합니다 : http://stackoverflow.com/q/15116210/1085837 –

답변

1

이 나는대로 모두 VS 2015 업데이트 3 VS 2017

에서이 참조 해결 방법, 내가 마우스 호버를 사용하여/'여기까지 실행 실행'을 클릭 것을 발견 인스턴스화 된 값을 보존 곳 키보드 가속기 ('Ctrl + Shift + F10')는 인스턴스화 된 값을 null로 만듭니다.

VS mouse hover 'Run execution to here'

+0

어디서나 IL을 사용하고 있습니까? 내 DB 호출은 IL을 많이 사용하는 Dapper를 사용합니다. 나는이 문제를 좁히려고 노력하고있어 내가 이것을위한 '공식적인'지원 요청을 할 수있다. –

+0

나는 일리노이를 사용하지 않고있다. – ergohack