VSCode를 통해 C++ 디버깅 중 watch 창에 char 값이 제대로 표현되지 않는 현상을 발견하였습니다.
- 현재 name은 char* 타입
- "ASDF"라는 문자열을 가리키고 있음.
- VSCode를 통해 디버깅 중 Watch에는 65값과 "<error reading variable>"만 표시됨
관련 내용을 검색해보니 다음과 같은 글을 찾을 수 있었습니다.
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 인코딩을 사용하게되는 것 같다.
launch.js 내 setupCommands에 다음 항목을 추가한다.
{ "description": "Fix pretty-printing for gdb", "text": "set charset UTF-8" }