VS Code Go Debugging Guide: Effective cwd and Launch Configuration
여러 개의 Go 워크디렉터리(예: speechgen, pttsnet)를 VS Code에서 깔끔하게 디버깅하려면 launch.json의 cwd(Current Working Directory) 를 꼭 써두면 좋다. 그러면 상대경로 import, 설정 파일 경로, 빠른 브레이크포인트가 전부 일관된다.
Hun Jang Nov 25, 2025
VS Code에서 Go 디버깅 작업경로 지정하기
여러 개의 Go 워크디렉터리(예: speechgen, pttsnet)를 VS Code에서 깔끔하게 디버깅하려면 launch.json의 cwd(Current Working Directory) 를 꼭 써두면 좋다. 그러면 상대경로 import, 설정 파일 경로, 빠른 브레이크포인트가 전부 일관된다.
왜 cwd가 중요한가
./configs/dev.yaml같은 상대경로 파일 로딩이 깨지지 않는다.
- 다중 모듈/서브디렉터리에서 브레이크포인트가 정확히 붙는다.
- 터미널에서
go run과 F5 실행 결과가 동일해진다.
자주 쓰는 팁 (당신 질문 패턴 기준 요약)
- F5 vs
go run: F5(디버그)는launch.json기준으로 실행된다. 터미널에서go run할 때와 동일하게 만들려면program,cwd,args를 맞춘다.
- 브레이크포인트 일괄 제거:
Cmd/Ctrl+Shift+F9→ 모든 중단점 제거.
- 테스트 디버그:
- 멀티 루트(workspace):
File → Add Folder to Workspace…로speechgen,pttsnet을 각각 추가하고, 각 폴더 밑.vscode/launch.json에 폴더별 설정을 두면 충돌이 줄어든다.
- 환경 분기:
envFile로.env를 불러와 디버그/실행 환경을 쉽게 바꾼다.