노드 디버깅 방법
7353 단어 webdevvscodejavascriptnode
Visual Studio Code 시작 구성
VS Code는 왼쪽 열에 멋진 디버거가 있습니다. 디버거를 클릭하면 원하는 구성 유형을 묻는 옵션 톱니바퀴가 표시됩니다.
Node.js를 선택하면 몇 가지 속성이 있는 구성이 표시됩니다.
마지막 속성인
program
에 대해 직접적으로 관심을 갖는 것입니다. 여기서는 현재 작업 공간 내에서 index.js
라는 프로그램을 시작한다고 명시되어 있습니다. 이제 노드를 작성하고 이것이 무엇을 하는지 봅시다.const avengers = ['Iron Man', 'Captain America', 'Thor', 'Captain Marvel'];
for (let i = 0; i < avengers.length; i++) {
const theHero = avengers[i];
console.log(theHero);
}
다음은
index.js
의 기반으로 사용할 수 있는 코드입니다. 해당 코드를 작업 공간의 index.js
파일에 저장한 후. 줄 번호 왼쪽의 레일을 클릭하여 줄 5에 중단점을 놓을 수 있습니다.그런 다음 디버거로 돌아가 재생 버튼을 클릭하면 프로그램이 실행되고 해당 줄에서 프로그램 실행이 일시 중지됩니다.
왼쪽에서 현재 범위
theHero: "Iron Man"
의 값을 가진 변수를 볼 수 있습니다. 변수와 특정 실행 시간을 드릴다운하고 검사할 수 있는 다른 범위가 많이 있습니다.이것은 기본적인 예이지만 좋은 디버거가 얼마나 훌륭하고 가치가 있는지 보여줍니다. VS Code 내에서 탐색할 수 있는 다양한 내장 유용한 옵션이 있습니다. 자세한 내용은 VS Code 문서의 Node.js Debugging Config Common Scenarios 섹션을 확인하세요.
Visual Studio 코드 연결 구성
VS Code 디버거를 사용하는 가장 일반적인 방법은 디버거를 현재 실행 중인 노드 프로세스에 연결하고 해당 프로세스 내에서 중단점을 설정하는 것입니다. 일부 Node Express 앱을 디버깅할 때 이것을 자주 사용합니다.
아래는 여기서 예제의 기반으로 사용할 기본 익스프레스 앱입니다.
index.js
파일의 코드를 교체하고 express
를 통해 npm
를 설치하는 것을 잊지 마십시오.const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
app.get('/', (req, res) => {
const data = {
hello: 'world'
};
res.json(data);
});
app.listen(PORT, () => console.log(`Up and running ${PORT}`));
다음으로
.vscode/launch.json
를 엽니다. 그러면 큰 파란색Add Configuration
버튼이 표시됩니다. 클릭하면 선택할 수 있는 여러 가지 구성이 표시됩니다. 이 경우 첫 번째 Node.js 연결 옵션을 선택합니다.그러면 해당 구성이 디버거에서 사용할 수 있도록 구성 배열에 추가됩니다.
다음으로
--inspect
플래그로 노드를 실행합니다.그런 다음 노드 디버거가 포트
9229
와 Chrome 개발 도구 URL에서 수신 대기 중임을 알리는 스크립트가 노드를 시작한 다음 앱 출력을 표시합니다. 해당 포트는 연결 구성에서 찾고 있는 포트와 동일한 포트입니다.다음으로
index.js
스크립트로 이동하여 응답이 전송되기 전에 app.get
호출 내에 중단점을 놓습니다.VS Code 디버거를 열고 재생을 누르면 VS Code 상단에 일부 컨트롤이 표시됩니다. 이제 해당 경로로 이동하여 해당 코드와 디버거를 트리거하고 Chrome을 열고
localhost:5000
를 눌러야 합니다. 이렇게 하면 요청 범위의 변수와 정보를 볼 수 있는 VS Code 디버거로 돌아갑니다.그게 다야!
요약
console.log
는 시도되고 사실이지만 VS Code 디버거 또는 주변의 디버그 도구를 이해하는 데 한 시간 이상을 투자하면 문제 해결이 조금 더 쉬워질 것이라고 생각합니다. 그럼 아래 정보를 확인하시길 추천드려요!이 기사가 마음에 드셨다면 ❤️을 많이 보여주세요. 그렇지 않다면 그것에 대해 이야기합시다 😃.
원래 내 블로그johnstewart.io에 게시되었습니다.
Reference
이 문제에 관하여(노드 디버깅 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thejohnstew/how-i-debug-node-end텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)