摘要:示例代碼插入斷點(diǎn)方法在需要設(shè)置斷點(diǎn)的地方插入關(guān)鍵字,程序會(huì)在這里暫停運(yùn)行。只需要在命令模式輸入,按回車便可以進(jìn)入環(huán)境。
1 示例代碼
app.js
var express = require("express"); var app = express(); var req_times = 0; app.all("/*", function(req, res){ req_times++; var req_url = req.url; var req_method = req.method; var req_query = req.query; res.end("debugger test"); }); app.listen(3000); console.log("app running on port 3000...");2 插入斷點(diǎn)
方法:在需要設(shè)置斷點(diǎn)的地方插入debugger關(guān)鍵字,程序會(huì)在這里暫停運(yùn)行。
app.all("/*", function(req, res){ debugger; req_times++; debugger; var req_url = req.url; debugger; var req_method = req.method; debugger; var req_query = req.query; debugger; res.end("debugger test"); });3 開啟debugger 命令模式
node debug app.js
PS O:DEMOleran-nodejs-debugger> node debug app.js < Debugger listening on port 5858 connecting to 127.0.0.1:5858 ... ok break in O:DEMOleran-nodejs-debuggerapp.js:1 > 1 var express = require("express"); 2 var app = express(); 3 debug>4 debug模式下常用命令 4.1 步驟跳躍相關(guān)命令
cont ,c 繼續(xù)執(zhí)行
next , n 跳到下一個(gè)斷點(diǎn)處
step , s 進(jìn)入某個(gè)函數(shù)
out , o 跳出某個(gè)函數(shù)
pause 暫停執(zhí)行某個(gè)函數(shù)
setBreakpoint(), sb() 再當(dāng)前行設(shè)置斷點(diǎn)
setBreakpoint(line), sb(line) 在指定行設(shè)置斷點(diǎn)
clearBreakpoint("script.js", 1), cb(...) 清除某行的斷點(diǎn)
4.2 信息查看相關(guān)命令backtrace, bt 打印當(dāng)前執(zhí)行記錄
list(5) 打印當(dāng)前執(zhí)行代碼的前后5行
watch("expr") 增加一個(gè)表達(dá)式到觀察列表
unwatch("expr") 刪除一個(gè)表達(dá)式
watchers 列出所有觀察列表,表達(dá)式和值
repl 進(jìn)入repl環(huán)境
exec expr 執(zhí)行一個(gè)表達(dá)式在斷點(diǎn)的上下文
4.3 執(zhí)行控制run 運(yùn)行腳本,在debug的開始出
restart 重新運(yùn)行腳本
kill 關(guān)閉腳本
4.4 其他方面scripts 列出所有已經(jīng)加載的腳本
version 查看v8的版本號(hào)
5 命令演示查看變量值需要進(jìn)入==repl==環(huán)境。只需要在命令模式輸入repl,按回車便可以進(jìn)入repl環(huán)境。
debug> repl Press Ctrl + C to leave debug repl > req_times 0 debug> n break in O:DEMOleran-nodejs-debuggerapp.js:12 10 req_times++; 11 >12 debugger; 13 14 var req_url = req.url; debug> repl Press Ctrl + C to leave debug repl > req_times 1 > req.method "GET" > req.url "/" debug> bt #0 app.js:12:5 #1 layer.js:95:5 #2 route.js:131:13 #3 route.js:125:14 #4 route.js:125:14 #5 route.js:125:14 #6 route.js:125:14 #7 route.js:112:3 #8 layer.js:95:5 #9 index.js:277:22 debug> list(4) 8 debugger; 9 10 req_times++; 11 >12 debugger; 13 14 var req_url = req.url; 15 16 debugger; debug> watchers debug> watch("req_times") debug> watchers 0: req_times = 1 debug> scripts * 58: app.js 61: index.js 62: express.js 63: index.js 64: application.js 65: index.js 66: node.js 70: debug.js 71: index.js 72: index.js 73: index.js 74: index.js 75: index.js 76: index.js 77: index.js 78: route.js 79: array-flatten.js 80: layer.js 81: index.js 82: index.js 94: index.js 95: index.js 96: index.js 97: index.js 98: init.js 99: query.js 100: index.js 101: stringify.js 102: utils.js 103: parse.js 104: view.js 105: utils.js 106: index.js 107: index.js 108: index.js 109: index.js 110: index.js 111: inherits.js 112: index.js 113: index.js 114: index.js 118: index.js 119: mime.js 120: index.js 127: index.js 128: index.js 129: ipaddr.js 133: request.js 134: index.js 135: index.js 136: index.js 137: index.js 138: index.js 139: index.js 144: response.js 145: index.js 146: index.js 147: index.js 149: index.js debug>
2016/8/27
參考:http://nodejs.cn/doc/node/deb...
by:wdd
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81653.html
摘要:調(diào)試方法提供了一個(gè)內(nèi)建調(diào)試器來幫助開發(fā)者調(diào)試應(yīng)用程序。這兩個(gè)參數(shù)只會(huì)啟動(dòng)監(jiān)聽模式,不會(huì)進(jìn)入命令行調(diào)試模式,而且前者會(huì)運(yùn)行完所有代碼,通常可用于事件調(diào)試,后者會(huì)在進(jìn)入時(shí)中斷,方便從頭開始調(diào)試。安裝編輯器使用配置調(diào)試的配置信息如下圖。 Nodejs調(diào)試方法 1. Node debug Nodejs提供了一個(gè)內(nèi)建調(diào)試器來幫助開發(fā)者調(diào)試應(yīng)用程序。使用debug模式時(shí),Node.js 會(huì)啟動(dòng)De...
摘要:最近使用開發(fā)了一套軟件,記錄一下遇到的調(diào)試問題所需工具官網(wǎng)鏈接本次所使用的版本為本次直接使用的鏈接官網(wǎng)鏈接配置方式我們使用的項(xiàng)目初始配置已經(jīng)完成。建議端代碼在主進(jìn)程中運(yùn)行調(diào)試確定無誤后再引入渲染進(jìn)程中減少調(diào)試工作難度。 最近使用electron開發(fā)了一套軟件,記錄一下遇到的調(diào)試問題 所需工具 vscode 官網(wǎng)鏈接; electron,本次所使用的版本為: Electron: 1...
摘要:原文地址這兩天在看也在入門中網(wǎng)上大部分教程都是前端配置開發(fā)調(diào)試這個(gè)也有很多相當(dāng)成熟的實(shí)踐教程這篇文章主要是的配置說起來也是相當(dāng)簡(jiǎn)單的不涉及任何的語法與概念同時(shí)也可以根據(jù)本文配置的開發(fā)環(huán)境主要是模塊部分的使用說起大家應(yīng)該都挺熟悉了是一個(gè) 原文地址 https://github.com/xiadd/blog/issues/8 這兩天在看ts,也在入門中, 網(wǎng)上大部分教程都是前端配置ts開發(fā)...
摘要:支持,和三種環(huán)境,并且可以安裝擴(kuò)展插件,因而可以滿足絕大多數(shù)人的要求,安裝配置非本文所要講述的內(nèi)容,請(qǐng)自行查找,本文著重討論如何用更好的調(diào)試代碼,希望能對(duì)大家有所幫助。 2018.5.12更新 最近在用vscode 1.23版本的時(shí)候發(fā)現(xiàn)outDir不可以使用了,建議這么改吧,直接program采用編譯后的文件,然后打開sourceMaps,同時(shí)在babel編譯的時(shí)候自己搞--watc...
摘要:第三步在打開在地址欄輸入并回車后就會(huì)看到以下頁面了點(diǎn)擊上面的鏈接跳轉(zhuǎn)到調(diào)試頁面你會(huì)看到一個(gè)調(diào)試當(dāng)前代碼的彈窗。更好的體驗(yàn)是,當(dāng)你的重啟后,這個(gè)調(diào)試窗口會(huì)重新連接。從上圖,你會(huì)看到一堆經(jīng)常用到的調(diào)試工具。 事實(shí)上chrome devtools在2016年5月就已經(jīng)支持Nodejs的調(diào)試了,具體可以觀看英文原版Google I/O上的視頻 第一步:下載和安裝最新版本的Nodejs(要求6....
閱讀 3987·2021-11-16 11:50
閱讀 972·2021-11-11 16:55
閱讀 3701·2021-10-26 09:51
閱讀 898·2021-09-22 15:03
閱讀 3500·2019-08-30 15:54
閱讀 3298·2019-08-30 15:54
閱讀 2508·2019-08-30 14:04
閱讀 955·2019-08-30 13:53