最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于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"命令,結果如下所示:

[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í)行剩余的代碼,結果如下所示:

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

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ù)為設置斷點的文件名,不填默認為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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • NodeJS使用文件流解決大文件處理的內(nèi)存與時間效率問題

    NodeJS使用文件流解決大文件處理的內(nèi)存與時間效率問題

    在 NodeJS 中,文件操作是常見的任務之一,然而,當處理大文件時,直接將整個文件加載到內(nèi)存中可能會導致內(nèi)存溢出或性能瓶頸,為了解決這一問題,NodeJS 提供了文件流(Stream)機制,本文將詳細介紹文件流的優(yōu)點、使用方法、應用場景,并探討背壓(Backpressure)的概念
    2025-01-01
  • Node.js的npm包管理器基礎使用教程

    Node.js的npm包管理器基礎使用教程

    特別是JavaScript領域中,基于NPM的網(wǎng)絡傳輸方式真的是越來越流行,包括React與Vue等許多JavaScript庫與框架都選擇使用npm進行管理,這里就為大家送上Node.js的npm包管理器基礎使用教程,需要的朋友可以參考下
    2016-05-05
  • nodejs抓取notion?emoji?svg資源的腳本示例

    nodejs抓取notion?emoji?svg資源的腳本示例

    這篇文章主要為大家介紹了nodejs抓取notion?emoji?svg資源腳本實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Node.js基于node-schedule實現(xiàn)定時任務的操作步驟

    Node.js基于node-schedule實現(xiàn)定時任務的操作步驟

    實際工作中,可能會遇到定時清除某個文件夾內(nèi)容,定時發(fā)送消息或發(fā)送郵件給指定用戶,定時導出某些數(shù)據(jù)等,node-schedule是一個非常不錯的npm包,可以幫助我們快速的創(chuàng)建和管理定時任務,所以本文介紹了Node.js基于node-schedule實現(xiàn)定時任務的操作步驟,需要的朋友可以參考下
    2024-09-09
  • npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    Node-sass是一個庫,它將Node.js綁定到LibSass,下面這篇文章主要給大家介紹了關于npm一鍵安裝Python以及node-sass依賴環(huán)境的相關資料,文中還介紹了安裝node-sass報錯Python環(huán)境問題避坑指南,需要的朋友可以參考下
    2022-09-09
  • 一文講解如何把已安裝的nodejs高版本降級為低版本

    一文講解如何把已安裝的nodejs高版本降級為低版本

    部分老舊項目需要使用低版本的node,網(wǎng)上很多是無效的,高版本無法直接安裝低版本node,但是低版本nodejs可以安裝部分高版本node,從而達到升級效果,下面這篇文章主要給大家介紹了關于如何把已安裝的nodejs高版本降級為低版本的相關資料,需要的朋友可以參考下
    2024-06-06
  • npm鏡像源更改后不生效(附淘寶鏡像源)

    npm鏡像源更改后不生效(附淘寶鏡像源)

    淘寶的NPM鏡像源registry.npm.taobao.org已經(jīng)過期,導致npm?install時出現(xiàn)證書過期錯誤,更換鏡像源至registry.npmmirror.com后,如果仍出現(xiàn)錯誤,可能是項目中的package-lock.json或.npmrc文件鎖定了舊的鏡像源,本文就來介紹一下解決方法,感興趣的可以了解一下
    2024-10-10
  • Node.js爬蟲如何獲取天氣和每日問候詳解

    Node.js爬蟲如何獲取天氣和每日問候詳解

    這篇文章主要給大家介紹了關于Node.js爬蟲如何獲取天氣和每日問候的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Node.js爬蟲具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • nodejs操作mongodb的增刪改查功能實例

    nodejs操作mongodb的增刪改查功能實例

    這篇文章主要介紹了nodejs操作mongodb的增刪改查功能,簡單分析了mongodb模塊的安裝并結合實例形式分析了nodejs操作mongodb數(shù)據(jù)庫進行增刪改查的相關實現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • node中使用es5/6以及支持性與性能對比

    node中使用es5/6以及支持性與性能對比

    本篇文章主要介紹了node中使用es5/6以及支持性與性能對比,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

楚雄市| 神池县| 龙口市| 临高县| 正宁县| 乐山市| 朔州市| 哈巴河县| 麻城市| 奎屯市| 通榆县| 远安县| 东丽区| 崇左市| 贡嘎县| 岚皋县| 利川市| 甘谷县| 武义县| 闽侯县| 始兴县| 寻乌县| 长汀县| 郁南县| 永新县| 克拉玛依市| 凤城市| 鹿泉市| 赤壁市| 榆树市| 阿勒泰市| 岳池县| 治县。| 高密市| 和政县| 射洪县| 昌图县| 吉安县| 襄汾县| 凌源市| 黑河市|