로컬 환경에서 잘 작동하는 프로덕션(Heroku)에서 코드를 디버깅하는 방법은 무엇입니까?
지금까지 내가 처리해 온 방식은 내 코드로 돌아가서 일부를 심고
console.log
Heroku에서 호스팅한 저장소에 코드를 푸시하고 Heroku 로그를 검사하는 것입니다heroku logs --tail --app {{NAME_OF_YOUR_APP}}
. 지루하고 확장 불가능하며 시간이 많이 걸리는 악몽입니다.더 나은 방법이 있어야 할 것 같아서 말 그대로 구글링
add debuggers code hosted heroku
했습니다. 나는 이것Stackoverflow answer에 착륙했고 그것은 정확히 내가 찾던 것이었다. 거기에 있는 단계를 따를 수 있고 VSCode
배치 중단점에서 코드를 디버그할 수 있습니다. 내 이해를 요약하자면:heroku ps:exec -app {{my-app-name}}
2.나.
Procfile
파일(확장자 없음)을 만들고 다음 줄을 추가합니다. web: node --inspect index.js
2.ii. 코드를 배포하고 명령줄에서 다음 명령을 실행합니다.
heroku ps:forward 9229 -app {{my-app-name}}
(포트 번호는 사용자에게 달려 있습니다).2.iii. 텍스트 편집기에서 디버깅 환경을 설정합니다. 필자의 경우 VSCode에서 디버거를 실행할 때 다음 설정으로 구성을 저장합니다.
{
"type": "node",
"request": "attach",
"name": "Heroku",
"address": "localhost",
"port": 9229,
"protocol": "inspector",
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"
},
그것은 나를 위해 일했습니다 - 나는 내 코드에 중단점을 배치하고 (로컬 환경에서와 같이) 검사를 허용하기 위해 실행이 정지되는 것을 볼 수 있었습니다. 어떤 이유로 중단점을 설정할 때 작은 빨간 점이 보이지 않지만 어쨌든 작동합니다.
당신에게도 효과가 있기를 바랍니다! 평소와 같이 말도 안되는 이야기를했다면 댓글로 알려주십시오.
추신: 일정 시간 동안 비활성화된 후 연결이 끊어지는 것을 알 수 있습니다. VSCode에서 디버거를 다시 실행할 때
heroku ps:forward 9229 -app {{my-app-name}}
다시 실행해야 합니다. 그렇지 않으면 연결을 설정할 수 없다는 추악한 오류 경고가 나타납니다.
Reference
이 문제에 관하여(로컬 환경에서 잘 작동하는 프로덕션(Heroku)에서 코드를 디버깅하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/petrussola/how-to-debug-code-in-production-heroku-that-used-to-work-fine-in-local-environment-1lpb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)