요즘 code editor를 vscode로 변경하면서 debug환경에 대한 설정을 진행하였습니다. 이 글의 목적은 간단하게 go언어 디버깅 환경을 구축하며, vscode의 debug 단축키 및 사용법에 대한 내용을 정리하였습니다.
환경 구성은 매우 간단합니다. vscode extension에서 "go"라고 검색하여 해당 extension을 설치합니다.
vscode에서 디버깅 환경을 구성하기 위해 launch.json 파일을 생성해야 됩니다. "ctrl + shift + d" 단축키를 통해 "Run and debug" 창을 띄울 수 있습니다. 해당 창에서 "create a launch.json file"을 클릭하여 launch.json 파일을 생성합니다.
파일을 생성하면 해당 경로에 "./.vscode/launch.json" 파일이 생성며 저는 다음과 같이 내용을 구성했습니다.
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "my project",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}"
}
]
}
내가 원하는 라인에 "F9"를 통해 브레이크 포인트를 지정하여 디버깅을 진행할 수 있습니다.
위 이미지를 보면 좌측에는 변수의 값을 확인할 수 있으며, 하단에는 콘솔로 출력되는 데이터를 확인할 수 있습니다. 이상 vscode에서 go언어 디버깅환경 만드는 과정에 대해 알아봤습니다.
브레이크 포인트에 특정 조건일 경우에만 디버깅을 하고 싶을 경우 해당 브레이크 포인트 우클릭에 "Edit breakpoint"를 클릭하여 다음과 같이 조건을 넣을 수 있습니다.
저는 i가 5일 경우에만 브레이크 포인트에 멈추도록 설정을 하여 많은 데이터를 분석할때 유용하게 사용할 수 있습니다.
마지막으로 vscode의 디버깅 관련 단축키에 대해 알아보고 마치겠습니다.
key | describe |
---|---|
F5 | 디버그 진행 / 디버그 중지 |
F10 | 다음 라인 실행 |
F11 | 메서드 내부로 진입 |
Shift + F11 | 메서드 빠져나오기 |
Ctrl + Shift + F5 | 재시작 |
Shift + F5 | 디버그 종료 |
자세한 내용은 다음 링크에서 확인하세요
https://github.com/golang/vscode-go/blob/master/docs/debugging.md