VSCode C++ 디버깅 중 문자 값이 watch에 표현되지 않는 오류

KevinSung·2024년 6월 1일
0
post-thumbnail

1. 문제 발생

VSCode를 통해 C++ 디버깅 중 watch 창에 char 값이 제대로 표현되지 않는 현상을 발견하였습니다.

  • 현재 name은 char* 타입
  • "ASDF"라는 문자열을 가리키고 있음.
  • VSCode를 통해 디버깅 중 Watch에는 65값과 "<error reading variable>"만 표시됨

2. 해결

관련 내용을 검색해보니 다음과 같은 글을 찾을 수 있었습니다.

https://stackoverflow.com/questions/64849170/gdb-error-reading-variable-in-array-while-debugging-vs-code

pretty-printer가 utf-8 문자를 올바르게 출력하지 않는다고 한다. 따라서 launch.json 내 setupCommands에 다음과 같은 항목을 추가해주면 된다고 한다.

	{
      "description": "Fix pretty-printing for gdb",
      "text": "set charset UTF-8"
    }

해당 항목을 추가하면, pretty-printer가 utf-8 인코딩을 사용하게되는 것 같다.

3. 결론

launch.js 내 setupCommands에 다음 항목을 추가한다.

	{
      "description": "Fix pretty-printing for gdb",
      "text": "set charset UTF-8"
    }
profile
KevinSung

0개의 댓글