node.js에서 강력한 디버깅 기능을 제공하는 node-inspector의 설치와 사용법을 간단히 정리합니다.
설치 방법은 쉽게 검색을 통해 자료를 얻을 수 있었는데 그 외 내용들이 없어 애를 좀 먹었습니다.
1. node-inspector 설치
1 |
$ npm install -g node-inspector |
2. 포트 열어주기(iptables)
우선 정상적으로 node-inspector를 구동하려면 특정 포트가 오픈되어 있어야 합니다.
– node-inspector가 사용할 포트 : (저는 3001로 가정하겠습니다.)
– node 디버거 포트 : 5858 (기본값)
* 포트를 오픈하는 방법은 iptables 사용법 포스트를 참고하세요.
3. node-inspector 실행하기
1 |
$ node-inspector --web-port=3001 |
실행하면 “Visit http://127.0.0.1:3100/debug?ws=127.0.0.1:3001&port=5858 to start debugging.” 이라는 메세지가 출력됩니다. 말 그대로 저 URL로 접속을 하면 되는데 만약 원격 서버라서 127.0.0.1로의 접속이 불가능 한 경우 http://<서버 아이피 또는 도메인>:3100/debug?ws=127.0.0.1:3001&port=5858 으로 접속이 가능합니다.
4. node 디버깅 활성화 하기
node.js 프로젝트가 있는 디렉토리에서 아래 명령을 실행해 줍니다.
1 |
$ node --debug-brk app.js |
그럼 “Debugger listening on port 5858” 메세지가 출력됩니다.
package.json을 이용하는 방법도 있습니다.
1 2 3 4 5 |
package.json "scripts": { "start": "node ./bin/www", "debug": "node --debug-brk server.js" } |
package.json에 정의해놓고 관리를 하는 것도 좋은 방법입니다. debug 모드의 실행은
1 |
$ npm run-script debug |
위와 같이 할 수 있습니다.
5. node 프로젝트 실행
1 2 3 |
$ node app.js 또는 $ npm start |
그리고 웹페이지에 접근하기 위해서는 node 프로젝트도 실행해야 합니다.
3, 4, 5번은 모두 백그라운드에서 실행되는 것이 아니기 때문에 원격 서버인 경우 각각 하나의 쉘을 열어 실행시켜야 합니다. 그게 귀찮으시다면 명령 뒤에 &을 붙여 백그라운드로 실행되도록 하셔도 됩니다.