2014-01-18 6 views
1

몇 주 전에 웹 스톰 디버거를 작동 시키려고했지만 시도하지 않았습니다. 오늘 다시 시도하고 있지만 같은 결과가 있습니다.node.js와 함께 Webstorm 디버거 사용

나는이 명령을 다음있어 http://www.jetbrains.com/webstorm/webhelp/running-and-debugging-node-js.html#d93421e461

내 구성은 실제로 게임 서버와 게임에 호스팅 된 세 개의 서버 (사용 pomelo.js), 웹 하나, 웹 서비스 등을 가지고있다 -server 기본적으로 HTTP 요청에서 직접 연결할 수 없습니다. (그것에 도달하기 위해 포트 1500에서 웹 서비스를 사용)

https://docs.google.com/file/d/0ByzbHcAxmCyvQ1ZqZTFhREpZNGM https://docs.google.com/file/d/0ByzbHcAxmCyvV2JFWkwxTldJNFE https://docs.google.com/file/d/0ByzbHcAxmCyvZnVlYXNNSk4weHM https://docs.google.com/file/d/0ByzbHcAxmCyvN2o1VUhQR3cwX0U

나는 실행을 클릭하면 :

"D:\Logiciels installés\nodejs\node.exe" --debug-brk=1337 web-server\app.js 
debugger listening on port 1337 

을하지만 웹 페이지에 가면 나는 아무것도 없어 ,이 오류 :

Code d'erreur : ERR_CONNECTION_ABORTED. 

N 디버그 웹 : 아야 내가 디버그 모드에서 실행하는 경우,이 개 디버그 콘솔을 열

"D:\Logiciels installés\nodejs\node.exe" --debug-brk=29855 --debug-brk=1337 web-server\app.js 
debugger listening on port 1337 
[ReferenceError: Buffer is not defined] 
Grunt watcher starting... 


*********** Controller Reader *********** 


GET/POST/PUT/DELETE =>/
GET/POST/PUT/DELETE => /chat 
GET/POST/PUT/DELETE => /demo 
GET/POST/PUT/DELETE => /login 
GET/POST/PUT/DELETE => /game 
GET/POST/PUT/DELETE => /subscribe 
POST => /game/connect 
GET => /mapEditor 
POST => /mapEditor/:action 
GET => /translate 


********* Controller Reader End ********* 


Web server has started in development mode. 
Please log on http://127.0.0.1:1337/index.html 
grunt-cli: The grunt command line interface. (v0.1.11) 

을하지만 탭 "디버거"에 가면 나는 "연결할 수 없습니다"있어요.

두 번째 디버그 콘솔 "디버그 웹 슬레이브 # 1": 내가 콘솔에 아무것도 없어하지만 난 디버거 탭에서 "127.0.0.1:1337에 연결"있어.

때때로 나는 웹 페이지에서이 같은 것을 가지고 웹 페이지에 도달 할 때 : 내가 디버그 모드를 실행하면

Type: connect 
V8-Version: 3.14.5.9 
Protocol-Version: 1 
Embedding-Host: node v0.10.24 
Content-Length: 0 

, 디버그 웹 디버거 탭하는을 127.0.0.30xxx에 연결하려고를 30000 주위 임의의 포트,하지만 실패하고 "연결할 수 없습니다"표시.

누군가 무슨 일이 일어나고 있는지 이해하고 있습니까? 왜냐하면 나는 ... 고마워.

편집 : 당신의 "디버그 웹"실행 confuguration이 있기 때문에, "--debug-BRK를 = 1337"Node.js를 응용 프로그램을 만드는 인자를 잘 작성 시작 후 일시 중단 예정되어

Error: Failed to lookup view "..\views\game\layout.ejs" 
    at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:493:17) 
    at ServerResponse.res.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\response.js:798:7) 
    at C:\wamp\www\Ayolan\web-server\app\controllers\mainController.js:25:17 
    at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:495:14) 
    at ServerResponse.res.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\response.js:798:7) 
    at module.exports.index (C:\wamp\www\Ayolan\web-server\app\controllers\mainController.js:13:13) 
    at callbacks (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:164:37) 
    at param (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:138:11) 
    at pass (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:145:5) 
    at Router._dispatch (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\router\index.js:173:5) 

답변

1
Error: Failed to lookup view "..\views\game\layout.ejs" 
    at Function.app.render (C:\wamp\www\Ayolan\web-server\node_modules\express\lib\application.js:493:17) 
    ...

부모 환경 변수가 기본적으로 앱에 전달되므로 환경 변수가 원인 일 가능성이 낮습니다. 그러나 https://docs.google.com/file/d/0ByzbHcAxmCyvQ1ZqZTFhREpZNGM/edit ("부모 환경 변수 포함"을 선택해야합니다)에서 "환경 변수"를 클릭하여 부모 환경 변수가 전달되도록하는 것이 좋습니다.

"작업 디렉토리"가 잘못 지정되었을 가능성이 있습니다. 콘솔에서 앱을 시작할 때와 같은지 확인하십시오.

+0

방금 ​​살펴보고 확인란을 선택했습니다. "부모 환경 포함 변수 "가 이미 확인되었습니다. 당신이 옳았습니다. 경로 때문이었습니다. 제 실수는 "C : \ wamp \ www \ Ayolan \ web-server"가 아닌 "C : \ wamp \ www \ Ayolan \"디렉토리와 Javascript 파일 "app.js"대신 "web-server \ app.js"를 입력하십시오. 감사! – Vadorequest

1

When I click on Run:

D:\Logiciels installés\nodejs\node.exe" --debug-brk=1337 web-server\app.js 
    debugger listening on port 1337 

But I got nothing if I go on the webpage, just this error:

Code d'erreur : ERR_CONNECTION_ABORTED.

. 다시 시작하려면 Node.js 원격 디버그 세션이 동일한 포트로 시작되어야합니다. 명령 줄이 중복 매개 변수 "= 1337 --debug-BRK" "--debug-BRK = 29855"등을 포함

Now, if I run it in debug mode, two debug consoles opened: Debug Web:

"D:\Logiciels installés\nodejs\node.exe" --debug-brk=29855 --debug-brk=1337 web-server\app.js 
    debugger listening on port 1337 
    ...

참고. 첫 번째 매개 변수 "--debug-brk = 29855"는 WebStorm에 의해 추가되고 두 ​​번째 매개 변수는 "Debug Web"실행 구성의 "Node parameters"필드에서 가져옵니다.

WebStorm은 응용 프로그램이 포트 29855에서 디버깅 할 준비가되어 있다고 가정하고 연결을 기다립니다. 그러나 출력 ("포트 1337에서 수신 대기하는 디버거")에 따르면 응용 프로그램의 디버거는 실제로 포트 1337에서 시작됩니다.

그런 다음 WebStorm은 다른 디버그 포트 (1337)가 열리고 자식 노드 프로세스의 디버그 포트라고 가정합니다. 그래서 WebStorm은 "Node.js Remote Debug"를 실행하여 1337 포트와 관련된 구성을 실행합니다. 이것이 바로 두 번째 콘솔 ("Debug Web slave # 1")을 보는 이유입니다.

"디버그 웹 슬레이브 # 1"콘솔은 포트 1337을 사용하여 응용 프로그램 실행을 다시 시작합니다. 그러나 "디버그 웹"콘솔은 포트 29855에서 연결을 기다리고 있습니다 (그 때문에 "연결할 수 없음"이 표시됩니다).

"노드 매개 변수"필드 ("웹 디버그")에서 "--debug-brk ="을 삭제하면 예상대로 작동합니다.

희망이 도움이 될 것입니다.

+0

설명 주셔서 감사 드리며, 오늘 밤 가능한 빨리 시도하겠습니다. – Vadorequest

+0

방금 ​​메인 포스트를 시도하고 편집했는데 웹 페이지 대신 오류가 발생했습니다. Windows 콘솔 또는 cygwin에서 노드 app.js를 실행하면 서버가 시작되고 문제없이 페이지를 사용할 수 있습니다. IDE에서 실행할 때 왜 실패 할 수 있는지 알고 계십니까? – Vadorequest

+0

필자는 Game WebService를 사용해 보았지만 흰색 페이지에 "찾을 수 없음"이라는 메시지가 있습니다. 여기서 Idem, 콘솔 대신 노드 app.js를 실행하면 모든 것이 잘 동작합니다. – Vadorequest

관련 문제