亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于node.js之調試器詳解

發布時間:2020-09-29 14:35:46 來源:腳本之家 閱讀:166 作者:jingxian 欄目:web開發

1.在命令行窗口中,可以使用"node debug" 命令來啟用調試器,代碼如下:

node debug<需要被執行的腳本文件名>接下來根據一個實例進行學習調試過程:

編寫app.js文件進行調試:

console.log('hello,word')
function foo(){
 console.log('hello,foo')
 return 100;
}
var bar = 'This is a pen';
var http = require('http')
var i = foo();
console.log(i)

1 在命令行窗口使用"node debug"命令,結果如下所示:

[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
 2 function foo(){
 3 console.log('hello,foo')
debug> 

在Node.js中提供了一個可以通過簡單TCP協議來訪問的調試器,進入調試后,首先連接調試器,如上圖所示出現Debugger并后面跟有ok,說明調試器已經成功使用。"break in app.js:1" 表示腳本程序暫停的位置

2 繼續執行可輸入"cont"或"c",繼續執行剩余的代碼,結果如下所示:

[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
 2 function foo(){
 3 console.log('hello,foo')
debug> c
< hello,word
< hello,foo
< 100

3 如果不需要執行剩余的所有腳本代碼,輸入"next"或"n"將程序執行到下一句可執行代碼前,如下所示:

[root@kuber2 webproject]# node debug app.js
< Debugger listening on [::]:5858
connecting to 127.0.0.1:5858 ... ok
break in app.js:1
> 1 console.log('hello,word')
 2 function foo(){
 3 console.log('hello,foo')
debug> n
< hello,word
break in app.js:6
 4 return 100;
 5 }
> 6 var bar = 'This is a pen';
 7 var http = require('http')
 8 var i = foo();
debug> 

4 如果想進入函數進行調試,可以在函數被調用出輸入命令"step"或"s",進入函數體,如圖所示:

break in app.js:8
 6 var bar = 'This is a pen';
 7 var http = require('http')
> 8 var i = foo();
 9 console.log(i)
 10 
debug> s
break in app.js:3
 1 console.log('hello,word')
 2 function foo(){
> 3 console.log('hello,foo')
 4 return 100;
 5 }
debug>

5 在函數體中可以用"n",逐步進行調試,還可輸入"out"或"o" 立即執行完函數內所有代碼,程序將暫停到被調用函數代碼后的一句代碼前,如圖所示:

break in app.js:3
 1 console.log('hello,word')
 2 function foo(){
> 3 console.log('hello,foo')
 4 return 100;
 5 }
debug> n
< hello,foo
break in app.js:4
 2 function foo(){
 3 console.log('hello,foo')
> 4 return 100;
 5 }
 6 var bar = 'This is a pen';
debug> o
break in app.js:9
 7 var http = require('http')
 8 var i = foo();
> 9 console.log(i)
 10 
 11 });
debug>

6 利用watch可以觀察變量或一些表達式的值,利用unwatch可以取消觀看,具體應用如下代碼所示:

break in app.js:1
> 1 console.log('hello,word')
 2 function foo(){
 3 console.log('hello,foo')
debug> watch("i")
debug> watch("i==100")
debug> n
< hello,word
break in app.js:6
Watchers:
 0: i = undefined
 1: i==100 = false

 4 return 100;
 5 }
> 6 var bar = 'This is a pen';
 7 var http = require('http')
 8 var i = foo();
debug> n
break in app.js:7
Watchers:
 0: i = undefined
 1: i==100 = false

 5 }
 6 var bar = 'This is a pen';
> 7 var http = require('http')
 8 var i = foo();
 9 console.log(i)
debug> n
break in app.js:8
Watchers:
 0: i = undefined
 1: i==100 = false

 6 var bar = 'This is a pen';
 7 var http = require('http')
> 8 var i = foo();
 9 console.log(i)
 10 
debug> n
< hello,foo
break in app.js:9
Watchers:
 0: i = 100
 1: i==100 = true

 7 var http = require('http')
 8 var i = foo();
> 9 console.log(i)
 10 
 11 });
debug> unwatch("i")
debug> unwatch("i==100")
debug> n
< 100
break in app.js:11
 9 console.log(i)
 10 
>11 });
debug>

7 可以利用setBreakpoint(filename,line)或cb(filename,line),設置斷點,第一個參數為設置斷點的文件名,不填默認為i正在運行的文件,line為需要加斷點的行號;可以利用clearBreakPoint(filename,line)或cb(filename,line)取消斷點

8 使用list(n)可以顯示所調試語句的前幾后與后幾行代碼

9 使用repl可以特推出debug模式

10 使用restart可以重新開始文本調試

11 使用kill終止腳本文件調試

12 利用kill終止文本調試后可利用run重新開始

13 利用backtrace或bt可以返回運行代碼的所處位置

14 利用script可以查看所有被加載的模塊名稱

以上這篇基于node.js之調試器詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三原县| 报价| 彭阳县| 金昌市| 砀山县| 南乐县| 肃北| 武邑县| 武城县| 阳新县| 开封县| 遂川县| 汪清县| 视频| 永兴县| 阳高县| 德格县| 连城县| 麦盖提县| 洛南县| 安达市| 凤翔县| 镇赉县| 河东区| 安福县| 工布江达县| 南皮县| 哈尔滨市| 昭平县| 安多县| 社会| 雅江县| 名山县| 新丰县| 都昌县| 屏南县| 扶余县| 乐亭县| 涿鹿县| 青神县| 葫芦岛市|