C++ 디버깅

    [Linux] gdb 활용하는 다양한 방법: executable, process, core dump file

    💡 본 문서는 'gdb 활용하는 다양한 방법'에 대해 정리해놓은 글입니다. C / C++ 코드를 디버깅 툴 중 가장 유명한 gdb와 이를 사용해야할 때에 대해 정리하였으니 참고하시기 바랍니다. 추가로 하기에 작성한 링크를 통해 이를 활용하여 executable, process, core dump file을 디버깅하여 분석하는 방법에 대한 글도 링크하였으니 참고하시기 바랍니다. 1. GDB란? 좋은 디버거는 문제를 해결하고, 프로그램을 좀 더 쉽게 개발하고 리버싱을 하는 등 다양한 방안에서 개발자에게 도움을 주는 도구 입니다. 많은 플랫폼에서 그에 맞춰 좋은 디버거들이 존재하고 개발자들은 자신에게 맞는 디버거를 사용하고 있습니다. 그 중 GDB(The GNU Debugger)는 많은 플랫폼, x86, x8..

    [IDE] VSCode C++ 디버깅 환경 세팅(task.json, launch.json): GCC on Linux (feat. 모든 중단점에서 멈추도록)

    💡 본 문서는 Visual Studio Code를 활용한 C++ 디버깅 환경 세팅 방법에 대해 소개합니다. 운영체제 별로 지원되는 컴파일러에 차이가 있어 운영체제별로 일부 상이할 수 있으니 본인의 운영체제를 확인하고 그에 맞춰서 진행하시기 바랍니다. 미리 알아야 할 점 (주의사항) VSCode에서 디버깅시 프로젝트의 상위에 있는 .vscode/폴더 내에 task.json과 launch.json을 아래와 유사하게 구성합니다. VScode의 디버깅을 실행하면 launch.json이 실행되는데, 이때 preLaunchTask 라벨이 있다면 task.json에서 label이 동일한 것을 찾고 task.json 작업을 실행한 후 launch.json이 실행합니다. 따라서 task.json의 "label"과 lau..