CodeLLDB에서 STL 내용이 표시되지 않을 때의 해결 방법
상황
CodeLLDB을 사용하여 C++ 디버깅을 수행 할 때 아래 이미지와 같이 STL 내용이 잘 표시되지 않습니다.
환경
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build C++17 for Debug",
"type": "shell",
"command": "g++",
"args": [
"-std=c++17",
"-g",
"${file}",
"-o",
"${fileDirname}/debug",
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "codeLLDB Debug",
"program": "${fileDirname}/debug",
"args": [],
"cwd": "${workspaceFolder}",
"externalConsole": true,
"preLaunchTask": "Build C++17 for Debug",
}
]
}
원인
※올바른 원인이 아닐 가능성이 있습니다.
LLDB가 지원하는 디버그 파일 형식이 잘 생성되지 않았습니까?
LLDB의 대응 포맷
디버그 옵션 별 생성 형식
대처
컴파일러 옵션에 명시적으로 레벨 3 dwarf 형식을 지정합니다.
변경 후 tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build C++17 for Debug",
"type": "shell",
"command": "g++",
"args": [
"-std=c++17",
"-gdwarf-3",
"${file}",
"-o",
"${fileDirname}/debug",
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
변경 후, 아래와 같이 STL의 내용이 표시되게 되었다.
참고
Why lldb pretty printers doesn't work for GNU GCC compiled program on MacOS?
Reference
이 문제에 관하여(CodeLLDB에서 STL 내용이 표시되지 않을 때의 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ShibuKazu/items/94bb4f1314d9ba323296텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)