2014년 12월 16일 화요일

[Node.js] WebStorm에서 nodejs디버깅 환경 구축

개요

WebStorm을 이용해 node.js앱(여기선 sails.js) 디버깅

제약

https://www.jetbrains.com/webstorm/help/running-and-debugging-node-js.html
로컬에 있는 nodejs소스거나, 원격지에 있는 경우는 이미 구동중인 앱에 대한 어태칭을 실시할 수 있는 것을 전제로 한다고 한다.

전제

우선 원격지에 관한 앱 구동 자체가 불가능한것은 아니다. 다만 공식적으로 서포트가 안되고있는 점과, 원격에 소스를 두고 작업을 하기에는 Webstorm의 원격 파일 조작부분은 미약한 부분이 많다. sshfs등을 이용해 원격 디스크를 마운트해 작업을 하기에도 가능은 하나 역시 물리적으로 느려지는 부분은 어쩔수 없는듯 하다.

개인적으로 작업환경을 구축함에 있어서. 인프라를 따로 세우지 않고 작업을 진행하는 현 시점에서는 물리적으로 로컬 머신에 모든 데이터베이스 서버등을 준비해, 로컬에서 작업을 하다, 실제 인프라를 전제로 하는 환경에서는 작업환경 자체를 AWS의 VPC에 하나의 app-server로서 VPN을 통해 접속해 소스 개발은 로컬에서 해결을 보는 구성을 전제로 생각하고자 한다.

개인 개발 단계에서는 VPN의 이용은 비용이 발생하는 부분이라 나중 작업이 될듯 하지만, 어느쪽이든 로컬에 파일을 두고 작업을 진행하는 환경을 전제하고자 한다.

따라서 여기서의 웹스톰 디버깅은 본래 제공되고 있는 로컬앱 디버깅까지만 체크하고자 한다.

수순

1. version control된 소스를 전개한 프로젝트를 작성

2. 하기 위치에서 실행 구성을 설정


3. 앱 실행 설정의 예시
    처음엔 디폴트 설정뿐이므로, 
    왼쪽위 + 버튼을 눌러 Node.js타입의 실행구성을 추가한다.



--silly는 sailsjs의 디버깅레벨의 최하단에 위치하는 디버깅 모드이다.
필요에 따라서만 지정. 지정하지 않은 경우는 config에 설정된 내용대로 동작한다.

4. 브라우저 런처 추가


5. 작성한 실행구성을 선택후


아래 버튼을 통해서 



일반 실행이나, 디버깅모드로 실행

6. 소스상의 실행가능한 구역에 breakpoint를 설정한 후, 브라우저에서 breakpoint구간을 통과하는 endpoint에 접근. 아래처럼 디버거뷰에서 break가 걸리는 것이 확인 가능하다.

댓글 없음:

댓글 쓰기