node中的調(diào)試 - debugger和inspector

文章轉(zhuǎn)載自:https://www.cnblogs.com/zhushunli/p/6278417.html

1.console.log()用于的場景:

  • 檢查變量或字符串的值

  • 記錄腳本調(diào)用了一個函數(shù)

  • 記錄來自第三方服務(wù)的響應(yīng)

如果想記錄錯誤,可使用console.warn(),它又名為console.error(),這兩個方法都會打印到標(biāo)準(zhǔn)錯誤流中。可使用try...catch...語句進行錯誤的捕獲。

2.使用console.error()

是找出錯誤為何被拋出的輕量級方法。要想探索代碼的瓶頸所在或者想快速檢測代碼的某些部分的性能基準(zhǔn),可使用STDIO模塊提供的console.time('標(biāo)識符')和console.timeEnd(‘標(biāo)識符’)。這個方法可用來優(yōu)化代碼性能,程序所消耗的時間,注:兩者的標(biāo)識符要相同。

var foo = function() {
  console.time('timer1');
    var a=3,b=5;
    var bar = function() {
    var b=7,c=11;
    a += b + c;
  }
  bar();
  console.timeEnd('timer1');
};
foo();

結(jié)果為:

image

3.Node.js的調(diào)試器 debugger

使用方法:

在程序中添加斷點:在行中添加debugger;

運行程序的方式是:在執(zhí)行命令中添加debug:例如:node debug debug.js

程序?qū)嵗?/p>

image

運行程序:

image

命令說明:

首先在執(zhí)行命令中添加debug,如node debug debug.js;首先執(zhí)行cont,進入第一個斷點,然后運行命令repl,后就可以對變量的值進行查詢;

然后可使用ctrl+c, 退出此次的查詢,然后在用cont,進入下一個斷點,輸入repl,依然可以查詢第二個斷點之前的變量的值,然后依次類推,進入到程序結(jié)束。

image

4.Node inspector

調(diào)試Node.js應(yīng)用程序最為有用的工具就是Node Inspector。這個第三方工具是由dannycoates (Danny Coates)所創(chuàng)建。

所需要的測試條件為:Webkit內(nèi)核的瀏覽器(如:Chrome或者Safari).

作用:Node Inspector讓我們可以使用Webkit Javascript調(diào)試器來按步來執(zhí)行代碼.

功能:

  • 瀏覽應(yīng)用程序的源代碼

  • 使用終端來與應(yīng)用程序交互

  • 添加或移除斷點

  • 按步執(zhí)行代碼中的函數(shù)調(diào)用

  • 步入,步出函數(shù)

  • 設(shè)置觀察表達式

  • 查看代碼中不同點上的堆棧蹤跡

  • 查看作用域變量

在計算機上安裝Node Inspector:

npm install -g node-inspector

啟動Node Inspector的過程分為兩部分:

首先,在命令窗口,如:cmd,使用--debug 或者--debug-brk標(biāo)志啟動應(yīng)用程序,以便啟用Javascript調(diào)試器。如果使用--debug-brk,那么Node Inspector會在應(yīng)用程序的第一行位置放置一個斷點。注意要想開始調(diào)試的話,就需要按play來跳到你設(shè)置的第一個斷點上。

node --debug-brk debug.js
image

最后,在另外的一個終端選項卡中,如cmd窗口,運行如下命令:

node-inspector

如果成功,會輸出一行信息,如:

image

node下使用chrome調(diào)試

> node --inspect-brk ../mywebpack/bin/main.js
ebugger listening on ws://127.0.0.1:9229/484e409c-5ae8-449a-b24a-9efb4db4f957
For help, see: https://nodejs.org/en/docs/inspector

在chrome中打開chrome://inspect/#devices

點擊inspect
可以使用chrome命中斷點,進行逐步調(diào)試
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn):http://www.tuicool.com/articles/Fzyaa2 新學(xué)習(xí)一種技術(shù),肯定會遇到很多坑...
    甘言川閱讀 3,116評論 0 2
  • 在做前端開發(fā)時,我們需要用到一些調(diào)試工具用來調(diào)試我們的HTML、CSS或者JS代碼,俗話說預(yù)先善其事必先利其器,這...
    Rella7閱讀 24,331評論 0 15
  • 這兩天鼓搗了一下node項目,記錄一下node的調(diào)試方法。 前端開發(fā)的調(diào)試可以用打日志(console.log)或...
    采姑娘的大白菜閱讀 16,347評論 2 9
  • (一)令人困惑的平均值 我們先放松一下,來簡單回憶一下初中的數(shù)學(xué)知識——算術(shù)平均數(shù)、中位數(shù)、眾數(shù)。它們都屬于平均值...
    披著洋皮的郎閱讀 1,192評論 1 0
  • 時間:2017年6月3日 參加人:卓明星、戴國慶、肖喜、馬麗蓉、劉曉琴、丹慶、胡林華、付力 主持人:付力 用時:3...
    飛驪閱讀 361評論 0 0

友情鏈接更多精彩內(nèi)容