VScode 디버깅을 위한 launch configuration 만들기

한승수·2024년 10월 1일

VSCode에서 위와 같은 Python 파일을 디버깅하기 위해서는 다음과 같이 설정할 수 있습니다.

1. Launch Configuration 설정

VSCode의 디버그 기능을 사용하려면 launch.json 파일을 설정해야 합니다. 먼저 launch.json 파일을 생성하고 아래와 같이 설정을 추가합니다.

1. VSCode에서 Run and Debug 패널을 엽니다.

왼쪽 사이드바에서 Run and Debug 아이콘(녹색 플레이 버튼)을 클릭하거나, Ctrl+Shift+D를 눌러 엽니다.

2. launch.json 파일을 생성합니다.

상단에서 create a launch.json file을 선택한 후, Python을 선택하여 기본 설정 파일을 생성합니다.

3. launch.json 파일을 수정합니다.

아래 예시와 같이 코드를 launch.json에 추가하여 실행 파일 및 실행 인자를 설정합니다.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: src/main.py",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/src/main.py",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
            "args": [
                "--save-frequency", "1",
                "--train-data=cc/Train_LVIS_output.csv",
                "--warmup", "10000",
                "--batch-size=128",
                "--lr=1e-4",
                "--wd=0.1",
                "--epochs=30",
                "--workers=8",
                "--openai-pretrained"
            ],
             "python": "/home/username/miniconda3/envs/your_env/bin/python",
            "justMyCode": true,
            "env": {
                "PYTHONPATH": "${env:PYTHONPATH}:${workspaceFolder}/src",
                "PYTHONWARNINGS": "ignore:semaphore_tracker:UserWarning"
                },
        }
    ]
}
  • name: 이 json 파일에 대한 설명
  • type: 실행하고자 하는 파일의 type
  • request: 반드시 'launch'로 입력
  • program: 실행하고자 하는 파일
  • args: program을 실행할 때 필요한 configuration
  • cwd: 작업 디렉토리 설정
  • python: 파이썬 인터프리터 경로
  • env: 환경변수 설정
  • ${workspaceFolder}: launch.json 파일이 있는 위치
  • ${env:PYTHONPATH}: 환경변수에 들어가는 이름(으로 짐작됨)

2. 디버그 실행

Run and Debug 패널에서 방금 생성한 Python: src/main.py 설정을 선택하고, Start Debugging (F5 또는 녹색 재생 버튼) 버튼을 눌러 디버그를 시작합니다.

3. Breakpoints 설정

src/main.py 파일을 열고, 디버그하고 싶은 코드 라인 옆에 있는 왼쪽 여백을 클릭하여 중단점을 설정합니다.
디버그 모드에서 프로그램이 중단점에 도달하면 코드를 단계별로 실행하거나 변수 값을 검사할 수 있습니다.

profile
Grooovy._.Han

0개의 댓글