Nodejs 調試方法


 

nodejs內部提供一個debug機制,可以讓程序進入debug模式,供開發者一步一步分析代碼發現問題。
   共有3中啟動參數可以讓程序進入debug模式,假設我們要對app.js進行調試。
   node debug app.js
   node --debug app.js
   node --debug-brk app.js

   3種模式在調試形式上有一定區別。

   node debug app.js
   1.這種方式啟動程序,程序會進入debug模式,並運行到啟動文件的第1行就停止,等待開發者下發往下走的命令。
   2.這種方式啟動程序,直接在當前cmd中進入調試模式。

   node --debug app.js
   1.這種方式啟動程序,程序會進入debug模式,並運行完所有代碼。這種啟動方式往往用於程序啟動的過程中不需要調試,通過觸發時間進入回調函數的情況,比如在某個http請求中打上斷點,等待客戶端訪問后進入斷點。
   2.這種方式啟動程序,會開啟一個TCP的端口監聽,在本cmd中不進入調試模式,需要另外開啟終端用node debug 命令連接調試端口。命令為 node debug localhost debug端口或者  node debug p node進程id。

   node --debug-brk app.js
   1.這種方式啟動程序,程序會進入debug模式,但是不會運行代碼,直到有一個終端連接到了debug端口,才開始執行代碼,並在第1行進入斷點。
   2.這種方式啟動程序,會開啟一個TCP的端口監聽,在本cmd中不進入調試模式,需要另外開啟終端用node debug 命令連接調試端口。

   進入debug模式后,可以通過一些命令來設置斷點、取消斷點以及控制程序執行流程。Nodejs支持js原生的調試,可通過debugger來下斷點。通過console.log(var)來顯示變量的值。也可以在debug下輸入repl再來查看變量的值。
   node.js調試命令

  

命令    功能
run    執行腳本,在第一行暫停
restart    重新執行腳本
cont,c    繼續執行,直到遇到下一個斷點
next, n    單步執行
step, s    單步執行並進入函數
out, o    從函數中步出
setBreakpoint(), sb()    當前行設置斷點
setBreakpoint(‘f()’), sb(…)    在函數f的第一行設置斷點
setBreakpoint(‘script.js’, 20), sb(…)    在 script.js 的第20行設置斷點
clearBreakpoint, cb(…)    清除所有斷點
cbacktrace, bt    顯示當前的調用棧
list(10)    顯示當前執行到的前后10行代碼
watch(expr)    把表達式 expr 加入監視列表
unwatch(expr)    把表達式 expr 從監視列表移除
watchers    顯示監視列表中所有的表達式和值
repl    在當前上下文打開即時求值環境
kill    終止當前執行的腳本
scripts    顯示當前已加載的所有腳本
version    顯示v8版本


nodejs中有supervisor這個熱部署組件,supervisor插件幫我們監視文件改動,自動重啟服務器,supervisor是node.js的一個包,安裝起來很簡單,使用npm的安裝命令就可以,因為我們需要在控制台運行,所以需要安裝在全局環境中。 

npm install -g supervisor

 

源文地址:https://blog.csdn.net/rznice/article/details/52710801?locationNum=14


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM