node-inspector로 node.js 디버깅
node-inspector를 사용하여 nodejs 앱을 디버그하려고합니다. 그러나 Google 크롬은 코드를 표시하지 않습니다.
다음을 사용하고 있습니다.
Node.js : v0.10.26
익스프레스 : 4.0.0
노드 검사기 : v0.7.3
Google Chrome 버전 : 34.0.1847.131
이것이 제가 디버거를 시작하기 위해하는 일입니다 ..
$ node-inspector
Node Inspector v0.7.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
다른 콘솔에서
$ node --debug app.js
debugger listening on port 5858
$
그런 다음 Chrome을 시작하고
http://127.0.0.1:8080/debug?port=5858
노드 검사기가 열리지 만 코드없이 모든 창이 비어 있습니다.
'포트 3000에서 수신하는 Express 서버'가 표시되지 않습니다.
노드 관리자 별로 모두 시도 했지만 노드에 연결 하지 못했지만 운이 없습니다.
내가 놓친 것을 해결할 수 없었습니다. Google 크롬에서 Node.js 앱을 디버깅 할 수 있도록 제안 사항이 있으면 좋을 것입니다.
node --debug-brk app.js
대신 실행하십시오 --debug
. 노드 검사기가 노드 프로세스에 연결되기 전에 애플리케이션이 일시 중지되지 않을 수 있습니다. 를 사용 --debug-brk
하면 노드가 앱의 첫 번째 줄에서 중단되고 디버거가 프로세스에 연결될 때까지 기다립니다. 노드 검사자 웹 인터페이스를로드하면 노드 검사자가 노드 프로세스에 연결됩니다. 이것이 쿼리 문자열 (localhost : 8080 / debug? port = 5858)에 노드 디버그 포트를 포함하는 이유입니다. 노드 검사자에게 도달하여 연결해야하는 포트를 알려줍니다.
다음은 노드 검사기의 전체 설치 및 실행을 보여주는 애니메이션 gif입니다.
gif에서는 --debug
시작시 바로 실행되는 코드를 디버깅하지 않기 때문에 플래그를 사용합니다 . 페이지가 요청 될 때만 실행되는 요청 처리기 내부에서 디버깅 중입니다. 따라서 페이지를 새로 고치면 노드 검사기가 해당 줄에서 중단됩니다.
나는 또한 얼마 전에 15 분 YouTube 튜토리얼을 작성했습니다.
도움이 되었기를 바랍니다.
기본적으로 node-inspector는 디버그 창을 시작하기 전에 모든 코드를 미리로드하려고합니다. 나는 인스턴스를 가지고 있었고 노드 검사기는이 사전로드로 인해 영원히 중단됩니다. 운 좋게도 최신 버전에는 사전로드를 중지하는 옵션이 있으므로 검사기가 더 빨리로드됩니다.
시험 node-inspector --no-preload
표준 원격 디버깅은 노드 6.5에서 완전히 중단됩니다. 그러나 새로운 내부 노드 기능으로 대체되었습니다.
$ node --inspect --debug-brk build/server/server.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
Debugger attached.
- 여기를 참조하십시오 http://arveknudsen.com/?p=346%3Fpage_id%3D346&print=pdf - 대한 추가 정보를 원하시면
--debug-brk
이제 사용되지 않습니다
시도한 node --inspect-brk <your starting file name>
다음 크롬으로 이동하여 url을 입력 chrome://inspect
하고를 클릭 Open dedicated DevTools for Node
하면 디버거가 시작되며 노드 검사기가 필요하지 않습니다.
Node Inspector의 "Sources"탭 왼쪽에는 "삼각형이있는 상자"가 있습니다. 강조 표시는 "Show Navigator"입니다. (위 그림 참조). 디버그 할 파일을 찾아서 아직 실행하지 않은 코드에 중단 점을 둡니다.
또한 시작 노드에서 실행되는 코드를 디버그하려면 --debug-brk
시작할 때 옵션 을 사용해야합니다 . 그런 다음 Node Inspector에서 앱을 시작해야합니다 ( F8
모두 실행). 웹 브라우저 시작과 같은 모든 초기화 코드를 디버그하려면이 옵션이 필요합니다.
node-debug --no-preload app.js
이것은 나를 위해 일하는 것입니다. 에 Accoriding 이 :
내 스크립트가 너무 빨리 실행되어 디버거를 연결할 수 없습니다.
디버깅 된 프로세스는 --debug-brk로 시작해야합니다. 이렇게하면 스크립트가 첫 번째 줄에서 일시 중지됩니다.
참고 : node-debug는 기본적으로이 옵션을 추가합니다.
참고 URL : https://stackoverflow.com/questions/23340968/debugging-node-js-with-node-inspector
'Program Tip' 카테고리의 다른 글
setInterval 타이머를 어떻게 재설정합니까? (0) | 2020.11.07 |
---|---|
스칼라로 반환 (0) | 2020.11.07 |
Angular의 한 요소에 여러 템플릿 바인딩을 적용하는 방법 (0) | 2020.11.07 |
Ruby on Rails의 모델 내에서 current_user에 액세스 (0) | 2020.11.07 |
Ruby on Rails의 form_for에서 hidden_field를 어떻게 사용하나요? (0) | 2020.11.07 |