로컬 환경에서 잘 작동하는 프로덕션(Heroku)에서 코드를 디버깅하는 방법은 무엇입니까?

1922 단어 vscodebeginners
에 대해 말했듯이 가장 실망스러운 점 중 하나는 로컬 환경에서 완벽하게 작동하는 코드를 수정하고 클라우드(내 경우에는 Heroku)에서 호스팅될 때 작동을 멈춘다는 것입니다.

지금까지 내가 처리해 온 방식은 내 코드로 돌아가서 일부를 심고console.log Heroku에서 호스팅한 저장소에 코드를 푸시하고 Heroku 로그를 검사하는 것입니다heroku logs --tail --app {{NAME_OF_YOUR_APP}}. 지루하고 확장 불가능하며 시간이 많이 걸리는 악몽입니다.

더 나은 방법이 있어야 할 것 같아서 말 그대로 구글링add debuggers code hosted heroku 했습니다. 나는 이것Stackoverflow answer에 착륙했고 그것은 정확히 내가 찾던 것이었다. 거기에 있는 단계를 따를 수 있고 VSCode 배치 중단점에서 코드를 디버그할 수 있습니다. 내 이해를 요약하자면:
  • heroku CLI를 사용하여 dyno에 연결합니다. heroku ps:exec -app {{my-app-name}}
  • remote debugging:

  • 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}} 다시 실행해야 합니다. 그렇지 않으면 연결을 설정할 수 없다는 추악한 오류 경고가 나타납니다.

    좋은 웹페이지 즐겨찾기