欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于node.js之調(diào)試器詳解

 更新時間:2017年08月22日 08:13:24   投稿:jingxian  
下面小編就為大家?guī)硪黄趎ode.js之調(diào)試器詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

node debug<需要被執(zhí)行的腳本文件名>接下來根據(jù)一個實例進行學習調(diào)試過程:

編寫app.js文件進行調(diào)試:

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"命令,結(jié)果如下所示:

[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協(xié)議來訪問的調(diào)試器,進入調(diào)試后,首先連接調(diào)試器,如上圖所示出現(xiàn)Debugger并后面跟有ok,說明調(diào)試器已經(jīng)成功使用。"break in app.js:1" 表示腳本程序暫停的位置

2 繼續(xù)執(zhí)行可輸入"cont"或"c",繼續(xù)執(zhí)行剩余的代碼,結(jié)果如下所示:

[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 如果不需要執(zhí)行剩余的所有腳本代碼,輸入"next"或"n"將程序執(zhí)行到下一句可執(zhí)行代碼前,如下所示:

[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 如果想進入函數(shù)進行調(diào)試,可以在函數(shù)被調(diào)用出輸入命令"step"或"s",進入函數(shù)體,如圖所示:

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 在函數(shù)體中可以用"n",逐步進行調(diào)試,還可輸入"out"或"o" 立即執(zhí)行完函數(shù)內(nèi)所有代碼,程序?qū)和5奖徽{(diào)用函數(shù)代碼后的一句代碼前,如圖所示:

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可以取消觀看,具體應(yīng)用如下代碼所示:

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),設(shè)置斷點,第一個參數(shù)為設(shè)置斷點的文件名,不填默認為i正在運行的文件,line為需要加斷點的行號;可以利用clearBreakPoint(filename,line)或cb(filename,line)取消斷點

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

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

10 使用restart可以重新開始文本調(diào)試

11 使用kill終止腳本文件調(diào)試

12 利用kill終止文本調(diào)試后可利用run重新開始

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

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

以上這篇基于node.js之調(diào)試器詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Express框架之connect-flash詳解

    Express框架之connect-flash詳解

    本篇文章主要介紹了Express框架之connect-flash詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 使用nodejs連接mySQL寫接口全過程(增刪改查)

    使用nodejs連接mySQL寫接口全過程(增刪改查)

    這篇文章主要給大家介紹了關(guān)于使用nodejs連接mySQL寫接口(增刪改查)的相關(guān)資料,MySQL是一種常用的關(guān)系型數(shù)據(jù)庫,它與Node.js的結(jié)合可以提供強大的數(shù)據(jù)存儲和檢索功能,需要的朋友可以參考下
    2023-12-12
  • mac下的nodejs環(huán)境安裝的步驟

    mac下的nodejs環(huán)境安裝的步驟

    本篇文章主要介紹了mac下的nodejs環(huán)境安裝的步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • nodejs 提示‘xxx’ 不是內(nèi)部或外部命令解決方法

    nodejs 提示‘xxx’ 不是內(nèi)部或外部命令解決方法

    本文介紹了node.js包管理工具npm安裝模塊后,無法通過命令行執(zhí)行命令,提示‘xxx’ 不是內(nèi)部或外部命令的解決方法,給需要的小伙伴參考下。
    2014-11-11
  • express框架通過ejs模板渲染輸出頁面實例分析

    express框架通過ejs模板渲染輸出頁面實例分析

    這篇文章主要介紹了express框架通過ejs模板渲染輸出頁面的方法,結(jié)合實例形式分析了express框架使用ejs模版引擎渲染輸出的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2023-05-05
  • Nodejs如何搭建Web服務(wù)器

    Nodejs如何搭建Web服務(wù)器

    這篇文章主要介紹了Nodejs如何搭建Web服務(wù)器,本文教大家使用 Nodejs搭建一個簡單的Web服務(wù)器,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 詳解axios在node.js中的post使用

    詳解axios在node.js中的post使用

    最近因為工作的原因在學習使用網(wǎng)絡(luò)請求庫,因為這個項目用的是Promise,所以就選擇了axios,下面這篇文章主要給大家介紹了關(guān)于axios在node.js中的post使用的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起學習學習吧。
    2017-04-04
  • 詳解兩個Node.js進程是如何通信

    詳解兩個Node.js進程是如何通信

    進程間通信是是Node.js的一個十分重要的部分,這篇文章主要給大家介紹了關(guān)于兩個Node.js進程是如何通信的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • 基于游標的分頁接口實現(xiàn)代碼示例

    基于游標的分頁接口實現(xiàn)代碼示例

    這篇文章主要給大家介紹了關(guān)于基于游標的分頁接口實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • adm-zip-0.4.13-中文文檔詳解

    adm-zip-0.4.13-中文文檔詳解

    這篇文章主要介紹了adm-zip-0.4.13-中文文檔,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論