인프런 커뮤니티 질문&답변

swing-by님의 프로필 이미지
swing-by

작성한 질문수

홍정모의 따라하며 배우는 C언어

2.10 디버거 사용법

[Visual Studio 2022] 디버깅시, Autos창에서 왜 변수명/값이 Local창과 다르게 보이나요?

해결된 질문

작성

·

1.1K

0

디버그 모드, x86으로 디버깅을 하는데 VS2019에서는 안 생기던 현상이 보여 질문드립니다.

문제 상황 : 디버깅할 때, Autos창에서 name, value가 locals창의 그것들과 다르게 보이며, 심지어 변수가 사라지기도 하는 현상

 

 

 

라인 8번까지 실행된 후, Autos창을 보면, 이전까지 있었던 변수 y나 z 둘 중 하나가 사라지고, name과 value도 1이됩니다.

또한, 변수명이 갑자기 x의 값으로 바뀝니다. 예를 들어, x = 5 라고 하면, 이 단계에서 Name 부분에 5로 나옵니다.

 


 

 

그러나 locals 창에서는 위와 같이 문제 없이 나옵니다.

 


 

이후 Step Into해서 넘어가면, Autos 창에서 x의 변수명과 값이 z의 value로 대체됩니다.

 


 

역시 locals창을 확인해보면, 정상적으로 짚어내고 있습니다.

 


 

VS 2019로 똑같은 조건에서 디버깅해보면,  Autos창에서 문제 없이 잘 짚어냅니다.

 

어떤 것을 참고하면, 왜 이런 현상이 나타나는지 알 수 있을까요?

답변 1

1

안녕하세요

저는 vs2022 를 사용하지 않아 해당 현상에 대해 설명 드리는데 어려움이 있네요 ㅠㅠ

설명 주신 본문 읽어보면 vs 2022 의 버그같아 보입니다.

https://www.reddit.com/r/VisualStudio/comments/qpzqek/vs2022_bugs_am_finding_vs2022_to_have_bugs_all/

레딧 글이긴한데.. 2019 보다 2022 이 안정적이지 않고 버그가 있다는 글이 있네요 

swing-by님의 프로필 이미지
swing-by
질문자

저도 여기저기 찾아봤는데 버그 같아서 일단 리포트 했습니다. 답변 감사드립니다!

VS2019에서는 변수 초기화 코드 사이에 

x = 1;

y = 20;

z = 3;

이렇게 공백 라인이 있으면, Autos 의 항목에서 변수 하나가 아예 사라지기도 하더라고요.

그런데 Locals 창에서 확인하면, 문제가 없습니다.

혹시 디버깅을 할 때, Autos말고 Locals로 확인하는 것도 괜찮을까요?

swing-by님의 프로필 이미지
swing-by

작성한 질문수

질문하기