nodejs調試方法介紹

方法一   純控制檯調試:

                                        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(...)                                                    清除所有斷點

backtrace / bt                                                                 顯示當前的調用棧

list(5)                                                                  顯示當前執行到的前後5行代碼

watch(expr)                                                             把表達式 expr 加入監視列表

unwatch(expr)                                                       把表達式 expr 從監視列表移除

watchers                                                           顯示監視列表中所有的表達式和值

repl                                                                 在當前上下文打開即時求值環境

kill                                                                                 終止當前執行的腳本

scripts                                                                       顯示當前已加載的所有腳本

version                                                                              顯示 V8 的版本

 

實例: 新建文件目錄結構如下:

      ---- > app.js

      ---- > User.js

      ---- > UserClass.js

 

UserClass.js

functionUserClass(name, age ,friends) {

        this.name=name;

        this.age=age;

        this.frieds=friends;

}

UserClass.prototype.sayFriends=function() {

        return this.frieds;

}

UserClass.prototype.sayHello=function() {

       console.log('hello my name is'+this.name);

}

module.exports=UserClass;

 

User.js

varUserClass=require('./UserClass');

function User(name,age,friends){

       UserClass.call(this , name , age , friends);

}

User.prototype=new UserClass;

module.exports=User;

 

App.js

varUser=require('./User');

var User1= newUser('jack',20,['a','b']);

console.log(User1.sayFriends());

var a =1;

var b = 'world';

var c=function(x) {

     console.log('hello' + x+ a);

}

c(b);

 

 

執行命令  node  debug  app.js  啓動調試工具:


默認程序會在第一行暫停。執行next 或n 命令程序會執行下一條,即在第二條語句暫停。


當前控制檯默認只顯示3條語句,可以通過list(10) 令其顯示當前執行到語句的前後10條代碼。


通過scripts命令查看當前已加載的腳本。* 代表當前正在調試 腳本文件。



通過setBreakpoint(‘User.js’, 4)  或者sb(‘ User.js’,4) 命令在User.js 文件第3行代碼設置斷點。


通過step 或  s單步執行進入函數並查看調試過程




使用repl命令 在當前上下文打開即時求值環境


Ctrl+ c c 退出求值環境。

使用out或o 命令步出當前函數。連續兩次o 操作後程序又返回app.js執行環境。



執行c命令,程序一直運行直到結束。


方法二  瀏覽器端調試:

大部分基於node.js的應用都是運行在瀏覽器中的,這也催生了一款強大的調試工具node-inspector 。 它擁有強大的調試功能和友好的用戶界面,同時它的使用方法十分簡便。

首先,使用npm  install   -g  node-inspector  在全局環境安裝node-inspector。

之後再命令行中執行  ”node  –debug   app.js“

再打開一個窗口,執行命令”node-inspector  &”

通過URL http://127.0.0.1:8080/debug?port=5858就可以進行調試了。

注意:node-inspector 使用了 WebKit Web Inspector,因此只能在 Chrome、Safari等 WebKit 內核的瀏覽器中使用,而不支持 Firefox 或 Internet Explorer。

其他調試方式也有很多,比如依靠ide的方法。可以使用eclipse或者webstrom 進行調試。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章