2015-01-08 5 views
3

아래 이미지에서 코드를 디버깅하고 변수 y1을 정의해야 함을 알 수 있습니다. 그러나, 나는 어떤 예외도 얻지 않으며 가변은 존재하지 않는 것처럼 보인다! Visual Studio에서 내 변수를 인식하지 못하는 이유는 무엇입니까? 내 설치에 문제가 있다고 생각합니다. 다른 사람이 확인할 수 있습니까?변수가 컨텍스트에 존재하지 않지만 명확하게 정의되어 있습니다.

enter image description here

참조. http://i.imgur.com/RO7oqZ6.gif

+2

출시 모드로 컴파일 되었습니까? 경우에 따라 옵티마이 저는 릴리스 모드에서 변수 이름을 제거 할 수 있습니다. – jlew

+1

Watch를 제거하고 읽으려고 했습니까? – Steve

+1

@jlew 릴리스 모드 일 필요는 없습니다. 최적화는 디버그 모드에서도 수행됩니다. – Servy

답변

8

컴파일러는 변수가 읽히지 않았 음을 증명할 수 있으므로 컴파일러는 결코 사용되지 않는다는 것을 알기 때문에 작성하지 않아도됩니다. 최적화를 수행하지 않는 변수를 실제로 사용하도록 코드를 변경하면 디버거를 통해 변수를 관찰 할 수 있습니다.

+1

원본 포스터의 경험에 따라 "디버그"해제 모드로 변경하십시오 (위의 주석 참조). – ErikE

관련 문제