export FLASK_DEBUG=1(True)
를 입력한다. FLASK_ENV=development
와는, debug가 on인 것은 동일하나 env가 다르다. .vscode/launch.json
에 script를 작성함으로써, 다음에 디버깅 할 때 재사용 할 수 있다. {
"version": "0.2.0",
"configurations": [
{
"name":"{name}",
"args": ["{argument_1}", "{argument2}", ..],
"type":"python",
"request":"launch",
"program": "${workspaceFolder}/{file_path}",
"justMyCode":true
}
]
}
"integratedTerminal"
이 기본값이며, VSC 상에서 터미널을 새로 열어 실행한다."internalConsole"
은 따로 TERMINAL에서 출력하지 않고, DEBUG CONSOLE에서 확인할 수 있다."env": {"PYTHONPATH":"${workspaceRoot}"}
와 같이 한다. true
가 기본값이며, false
로 해두면 표준 라이브러리 함수까지 디버깅한다.VSC run & debug로 Flask debugger를 실행하려면, 다음과 같이 script를 작성한다.
{
"name": "flask web app",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "${workspaceFolder}/{file_path}",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1"
},
"args": [
"run", "--port", "5000",
"--no-debugger",
"--no-reload"
],
"jinja": true
}
if __name__ == '__main__'
에 의해 실행되는 것은 아니게 된다.debugger;
로 breakpoint를 둘 수도 있다.에러 발생 File "{file_path}", 에러 발생 line {number} , line이 속한 함수
에러 발생 line
...
에러 클래스: 에러 메시지