vscode 에서 node. js 프로젝트 디 버 깅

4711 단어 node.js
vscode 디 버 깅 node. js 프로젝트 는 일반적으로 세 가지 상황 이 있 습 니 다.
1. vscode 디 버 깅 서버 를 시작 하여 디 버 깅 할 입구 파일 을 직접 실행 합 니 다. 개발 할 때 적합 합 니 다. 현재 js 파일 만 실행 할 수 있 을 것 같 습 니 다. ts 파일 은 좀 어 려 울 수 있 습 니 다.
2. 원 격 디 버 깅 은 원 격 서버 에서 디 버 깅 모드 로 먼저 실행 한 다음 에 로 컬 에서 host, post 에 따라 원 격 디 버 깅 서버 에 연결 해 야 합 니 다.
3. 로 컬 은 프로 세 스 디 버 깅 에 따라 로 컬 서버 에서 먼저 실행 한 다음 에 로 컬 은 프로 세 스 id 에 따라 지정 한 디 버 깅 을 해 야 합 니 다. 서버 에서 디 버 깅 모드 로 실행 할 필요 가 없습니다.
vscode 에 이 몇 가지 방식 의 설정 이 내장 되 어 있 습 니 다:
1. 직접 로 컬 디 버 깅 모드 로 서버 를 실행 하고 디 버 깅 클 라 이언 트 연결 을 실행 합 니 다.
노드 명령 으로 직접 실행:
디버그 실행 상자 - > 설정 추가 - > Node. js: 시작 프로그램, 설정 생 성 은 다음 과 같 습 니 다.
	{
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}\\index.js"
        }
옵션:
type: 디 버 깅 환경, node, python, c + + 등 을 대표 합 니 다.
request: 대표 적 인 행동 입 니 다. launch 는 입구 파일 을 직접 실행 하기 위해 attach 는 원 격 디 버 깅 클 라 이언 트 에 추가 하거나 로 컬 프로 세 스 에 추가 합 니 다.
runtime Executable: 실행 시 실행 되 는 명령, node, nodemon 등, type 이 node 일 때 기본 값 은 node 로 생략 할 수 있 습 니 다.
runtimeArgs: 실행 매개 변수, 실행 시 전달
program: 실행 중인 스 크 립 트
디버그 실행 출력:
node --inspect-brk=41886 index.js 
Debugger listening on ws://127.0.0.1:41886/44ec2627-9ddf-44a8-8eb5-19389d2b57d5
프로그램 이 디 버 깅 모드 로 시작 되 고 디 버 깅 포트 를 무 작위 로 지정 하 였 으 며 디 버 깅 정 보 는 websocket 프로 토 콜 로 전송 되 었 습 니 다. vscode 의 디 버 깅 클 라 이언 트 는 이 디 버 깅 포트 에 연 결 된 것 입 니 다.
nodemon 명령 으로 직접 실행:
디버그 실행 상자 - > 설정 추가 - > Node. js: Nodemon 설치 프로그램, 설정 생 성 은 다음 과 같 습 니 다.
	{
            "type": "node",
            "request": "launch",
            "name": "nodemon",
            "runtimeExecutable": "nodemon",
            "program": "${workspaceFolder}/index.js",
            "restart": true,
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen"
        }
실행 되 는 것 을 보 았 을 때 nodemon 이 고 restart 는 true 이 며 nodemon 전용 매개 변수 여야 합 니 다.
디버그 실행 출력:
[nodemon] starting `node --inspect=48487 --debug-brk index.js`
Debugger listening on ws://127.0.0.1:48487/60beffd8-d508-4fd4-97e2-1126ce113733
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
nodemon 내부 에서 같은 node 명령 을 실 행 했 습 니 다.
2. 원 격 서버 디 버 깅 에 추가
디 버 깅 실행 상자 - > 설정 추가 - > Node. js: 원 격 계획 에 추가 하고 설정 생 성 은 다음 과 같 습 니 다.
	{
            "type": "node",
            "request": "attach",
            "name": "Attach to Remote",
            "address": "localhost",
            "port": 27965,
            "localRoot": "${workspaceFolder}",
            "remoteRoot": "Absolute path to the remote directory containing the program"
        }
마지막 두 가지 옵션 은 잠시 무시 하고 사용 하지 않 았 습 니 다. 주로:
address: 원 격 디 버 깅 서버 도 메 인 이름
port: 원 격 디 버 깅 포트
디버그 서버 시작:
 node --inspect-brk=27965 index.js
Debugger listening on ws://127.0.0.1:27965/be5ec018-fa58-4948-9f8d-c648c8f2dc83
For help see https://nodejs.org/en/docs/inspector
디 버 깅 시작:
Debugger attached.
디 버 거 가 추가 되 었 음 을 설명 합 니 다.
여기에 또 약간의 설명 이 있다.
nodemon 시작 디 버 깅:
nodemon --inspect-brk=27965
출력:
[nodemon] starting `node --inspect-brk=27965 index.js`
Debugger listening on ws://127.0.0.1:27965/14488469-286f-411e-a73a-d49ea5d8effa
For help see https://nodejs.org/en/docs/inspector
nodemon 명령 의 디 버 깅 옵션 이 node 명령 에 전달 되 고 기본 매개 변 수 는 index. js 입 니 다.
3. 지정 한 프로 세 스 디 버 깅 에 추가
디버그 실행 상자 - > 설정 추가 - > Node. js: 프로 세 스에 추가, 설정 생 성 은 다음 과 같 습 니 다.
	{
            "type": "node",
            "request": "attach",
            "name": "Attach by Process ID",
            "processId": "21920"
        }
하나의 프로 세 스 id 만 이해 해 야 합 니 다.
시작 항목:
node index.js
디 버 깅 실행:
Debugger listening on ws://127.0.0.1:9229/6cf17f3e-8844-43eb-b3c4-aab3dd59af8a
For help see https://nodejs.org/en/docs/inspector
Debugger attached.

마지막 질문 이 있 습 니 다. ts 프로젝트 는 현재 ts - node 를 직접 사용 하여 디 버 깅 을 할 수 없 을 것 같 습 니 다. index. js 를 거 쳐 야 합 니 다.
require('ts-node/register');
require('./src/main');
즉, 입구 파일 은 js 일 수 있 거나 디 버 깅 할 때 ts 를 직접 실행 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기