成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

如何調(diào)試nodejs程序?下面本篇文章給大家介紹一下nodejs調(diào)試debug的方法,希望對大家有所幫助!

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

對于開發(fā)者來說,在開發(fā)應(yīng)用程序的過程中,往往為了開發(fā)方便和解決bug需要借助于編程語言的調(diào)試功能。一般來說我們需要借助于強(qiáng)大IDE的調(diào)試功能來完成這項(xiàng)工作。nodejs也不例外。

今天我們來詳細(xì)介紹一下如何調(diào)試node程序。

開啟nodejs的調(diào)試

還記得之前我們講到的koa程序嗎?本文將會以一個簡單的koa服務(wù)端程序?yàn)槔瑏碚归_nodejs的調(diào)試。

先看下一個簡單的koa服務(wù)app.js:

const Koa = require('koa'); const app = module.exports = new Koa();  app.use(async function(ctx) {   ctx.body = 'Hello World'; });  if (!module.parent) app.listen(3000);

上面的程序開啟了3000端口,建立了一個http服務(wù)。每次請求的時(shí)候,都會返回hello World,非常的簡單。

要想運(yùn)行上面的程序,我們需要執(zhí)行node app.js。 這會執(zhí)行app.js但是并不會開啟調(diào)試功能。

怎么進(jìn)行調(diào)試呢?

我們需要加上 –inspect 參數(shù):

node --inspect app.js

上面的代碼將會開啟nodejs的調(diào)試功能。

我們看下輸出結(jié)果:

Debugger listening on ws://127.0.0.1:9229/88c23ae3-9081-41cd-98b0-d0f7ebceab5a For help, see: https://nodejs.org/en/docs/inspector

結(jié)果告訴了我們兩件事情,第一件事情就是debugger監(jiān)聽的端口。默認(rèn)情況下將會開啟127.0.0.1的9229端口。并且分配了一個唯一的UUID以供區(qū)分。

第二件事情就是告訴我們nodejs使用的調(diào)試器是Inspector。

Inspector是nodejs 8之后引入的,如果是在nodejs 7之前,那么使用的是legacy debugger。

調(diào)試的安全性

如果debugger連接到了nodejs運(yùn)行環(huán)境中,如果有惡意攻擊者的話,這個惡意攻擊者可以在nodejs環(huán)境中運(yùn)行任意代碼。這會給我們的程序帶來很大的安全隱患。

所以我們一定要注意調(diào)試的安全性。一般來說,我們不建議進(jìn)行遠(yuǎn)程調(diào)試。

默認(rèn)情況下 –inspect 綁定的是127.0.0.1,這樣就只允許本地程序訪問。并且任何本地運(yùn)行的程序都有權(quán)限進(jìn)行該程序的調(diào)試。

如果我們真的想將debug程序暴露給外部程序的話,那么可以指明本機(jī)的外網(wǎng)IP地址或者0.0.0.0(表示任何地址,無限制),這樣遠(yuǎn)程機(jī)子就可以進(jìn)行遠(yuǎn)程調(diào)試了。

如果我們想進(jìn)行安全的remote debug該怎么處理呢?

首先,我們要開啟本地的debug:

node --inspect app.js

然后我們可以搭建一個ssh隧道,將本地的9221端口映射到遠(yuǎn)程服務(wù)器的9229端口:

ssh -L 9221:localhost:9229 user@remote.example.com

這樣我們就可以通過連接本地的9221端口,進(jìn)行遠(yuǎn)程調(diào)試了。

使用WebStorm進(jìn)行nodejs調(diào)試

JetBrains出品的WebStorm可謂是開發(fā)nodejs的利器,WebStorm自帶有debug選項(xiàng),如果開啟該選項(xiàng),則會在后臺開啟 –inspect:

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

使用WebStorm來進(jìn)行調(diào)試和使用IDEA來進(jìn)行java程序調(diào)試類似,這里就不多介紹了。

使用Chrome devTools進(jìn)行調(diào)試

使用Chrome devTools進(jìn)行調(diào)試的前提是我們已經(jīng)開啟了 –inspect模式。

在chrome中輸入chrome://inspect:

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

我們可看到chrome inspect的界面,如果你本地已經(jīng)有開啟inspect的nodejs程序的話,在Remote Target中就可以直接看到。

選中你要調(diào)試的target,點(diǎn)擊inspect,即可開啟Chrome devTools調(diào)試工具:

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

你可以對程序進(jìn)行profile,也可以進(jìn)行調(diào)試。

這里我們關(guān)注的是調(diào)試,所以轉(zhuǎn)到source一欄,添加你要調(diào)試的程序的源代碼:

如何開啟nodejs調(diào)試?如何調(diào)試nodejs程序?

加入斷點(diǎn)即可開始調(diào)試了。和在chrome中調(diào)試web端的js是一樣的。

使用node-inspect來進(jìn)行調(diào)試

其實(shí)nodejs有一個自帶的調(diào)試工具,叫做node-inspect,這是一個cli的調(diào)試工具。我們看一下怎么使用。

我們直接使用:

node inspect app.js  < Debugger listening on ws://127.0.0.1:9229/f1c64736-47a1-42c9-9e9e-f2665073d3eb < For help, see: https://nodejs.org/en/docs/inspector < Debugger attached. Break on start in app.js:1 > 1 const Koa = require('koa');   2 const app = module.exports = new Koa();   3  debug>

node inspect 做了兩件事情,第一件事情就是生成子程序去運(yùn)行node –inspect app.js,第二件事情就是在主程序中運(yùn)行CLI調(diào)試窗口。

這個CLI調(diào)試程序?yàn)槲覀兲峁┝艘恍┓浅S杏玫拿睿?/p>

1、Stepping

  • cont, c: 繼續(xù)執(zhí)行
  • next, n: Step到下一步
  • step, s: Step in
  • out, o: Step out
  • pause: 暫停運(yùn)行的代碼

2、Breakpoints

  • setBreakpoint(), sb(): 在當(dāng)前行設(shè)置斷點(diǎn)
  • setBreakpoint(line), sb(line): 在指定的行設(shè)置斷點(diǎn)
  • setBreakpoint(‘fn()’), sb(…): 在指定的function中設(shè)置斷點(diǎn)
  • setBreakpoint(‘script.js’, 1), sb(…): 在指定的腳本文件中設(shè)置斷點(diǎn)
  • clearBreakpoint(‘script.js’, 1), cb(…): 從文件中清除斷點(diǎn)

3、Information

  • backtrace, bt: 打印當(dāng)前execution frame的backtrace信息
  • list(5): 列出源代碼前后的5行
  • watch(expr): 添加監(jiān)聽表達(dá)式
  • unwatch(expr): 刪除監(jiān)聽表達(dá)式
  • watchers: 列出所有的watchers
  • repl: 打開repl表達(dá)式
  • exec expr: 執(zhí)行表達(dá)式

通過上面的命令,我們可以在CLI中進(jìn)行比較復(fù)雜的調(diào)試活動。

其他的debug客戶端

除了上面我們講到的幾個之外,我們還可以使用vscode,Visual Studio ,Eclipse IDE 等來進(jìn)行nodejs的調(diào)試,這里就不一一詳細(xì)介紹了。

感興趣的朋友可以自行探索。

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
日本三级在线播放线观看视频| 麻豆乱码1区2区新区| 久久免费看少妇高潮V片特黄 | 亚洲大尺度专区无码浪潮AV| 亚洲一级无码av毛片www| 中国熟妇人妻XXXXX| 边摸边脱吃奶边高潮视频免费 | 亚洲AV丁香五月六月婷婷| 亚洲熟妇无码一区二区三区| 2021国产麻豆剧传媒在线| 成人免费A级毛片久久| 国产毛多水多高潮高清| 久久国产精品_国产精品| 女人扒开屁股桶爽30分钟| 日韩毛片无码永久免费看| 小浪货腿张开水好多呀H| 夜夜躁狠狠躁日日躁| JAVASCRIPTJAVA成熟亲子| 国产成人久久精品| 久久精品国产自清天天线| 欧美性巨大╳╳╳╳╳高跟鞋| 婷婷综合久久中文字幕蜜桃三电影 | 男男GV在线观看| 少妇扒开毛茸茸的B自慰| 亚洲娇小被黑人巨大撑爆| 69美女黑人做受XXXXXⅩ| 丰满少妇BBWBBW| 精品无码人妻一区二区三区不卡| 蜜臀AⅤ永久无码一区二区| 色一情一乱一乱一区91Av| 亚洲免费福利视频| 被陌生人在地铁揉到高潮 | 欧美VPSWINDOWS极品| 我们还没在书房试过 | 亚洲GV天堂无码男同在线观看 | 漂亮人妻被强中文字幕| 性饥渴的农村熟妇在线视频| 中文字幕亚洲综合小综合在线| 国产成年无码AⅤ片在线观看| 久久久久久精品久久久| 少妇丰满大乳被男人揉捏视频 | 丰满熟妇人妻AV无码区| 久久久久成人精品| 少妇高潮无套内谢麻豆传 | 亚洲AV午夜成人片精品| 9丨精品妻人一区二区三区蜜桃| 国产无人区一码二码三码MBA| 欧美成人v片一区二区三区激情| 性VIDEOS欧美熟妇HDX| 99热精品国产三级在线| 国内精品自产拍在线观看| 欧美最婬乱婬爆婬牲视| 亚洲女同精品一区二区| 丁香花高清在线观看完整版| 久久久久人妻精品一区| 天天爽天天爽夜夜爽毛片| 中文字幕无码精品亚洲资源网 | 性XXXX欧美老妇506070| PITBULL的妻子| 九月九电影免费观看| 熟妇毛耸耸浓密茂盛| 中文字幕丝袜人妻制服丝袜在线| 国产一二三四2021精字窝| 人人妻人人做从爽精品| 一边摸一边吃奶一边做爽| 国产精品一区二区水蜜桃色欲| 欧美性狂猛AAAAAA| 亚洲综合精品成人| 国产交换配乱婬视频| 欧美最猛黑人XXXⅩ猛男欧| 亚洲欧洲精品成人久久曰影片| 国产SM调教视频在线观看| 内射爆草少妇精品视频| 亚洲欧美国产精品久久| 国产高清免费AV片在线观看不卡| 破了亲妺妺的处免费视频国产| 野花日本HD免费高清版视频| 国产女人好紧好爽| 日产无人区一线二线三线| 337P日本欧洲亚洲大胆色噜噜 | FREE MOVIES 日本护| 久久久亚洲精品无码| 亚洲AV涩涩涩成人网站| 丰满人妻熟妇乱偷人无码出轨| 欧美黑人巨大手机在线观看| 艳妇乳肉豪妇荡乳在线观看| 国产午夜精品理论片A级在线观看| 日韩VS欧美VS亚洲VS无码| 2022久久国产精品免费热麻豆| 九九九精品成人免费视频| 西西4444WWW大胆无码| 伽罗ちゃんが腿法| 人与禽zozzo性伦| 97人人澡人人爽人人模亚洲| 久久久橹橹橹久久久久高清| 亚洲国产精品特色大片观看完整版| 国产丰满麻豆VIDEOSSEX| 搡BBB搡BBBB搡BBBB| YY6080久久亚洲精品| 女人下边水润紧致好处| 在线精品动漫一区二区无码| 久久精品亚洲乱码伦伦中文| 亚洲精品无码伊人久久| 国模私密浓毛150p露150p极| 午夜成人亚洲理伦片在线观看 | 办公室揉弄震动嗯~动态图| 欧美变态口味重另类在线视频| 真实国产老熟女粗口对白| 久久精品噜噜噜成人AV| 亚洲日韩中文字幕无码专区| 精产国品一二三产区M553| 亚洲AV无码AV男人的天堂| 国产亲妺妺乱的性69视频播放| 无码H黄肉动漫在线观看| 国产AV一区二区三区传媒| 色窝窝亚洲AV网在线观看| 放荡的熟妇高清视频| 色婷婷成人综合激情免费视频| 冲动的惩罚动漫HD在线播放| 日产2021免费一二三四| 成人片国产精品亚洲| 日本水蜜桃身体乳的美白效果| 波多野结衣AV高清一区二区三区| 人妻av中年熟妇无码系列| YASEE在线2021| 日本三级香港三级人妇99| 成熟闷骚女邻居引诱2| 色天使色偷偷色噜噜| 国产成人麻豆精品午夜福利在线| 无码成人一区二区三区| 国产乱子伦精品无码码专区| 性生生活色欲片性按摩| 好吊视频一区二区三区| 亚洲成AⅤ人在线观看无码| 精品人妻少妇嫩草av无码专区 | 亚洲18色成人网站WWW| 黑人上司与人妻激烈中文字幕| 亚洲成A人片在线观看无码专区 | 午夜成人亚洲理论片在线观看 | 一二三四在线观看免费高清视频| 美女脱个精光扒开尿口图片无遮挡| 97porm国内自拍视频| 人妻夜夜爽天天爽欧美色院| 丰满的继牳3中文字幕系列免费| 脱岳裙子从后面挺进去电影| 国产一区在线观看二区| 亚洲精品无码乱码成人爱色| 老师你的兔子好软水好多的图片| 97人人超碰国产精品最新o | 抽插丰满内射高潮视频| 无码精品日韩专区| 狠狠做深爱婷婷综合一区| 一二三四免费观看高清视频| 欧美成人国产精品视频| 大码HIPHOP欧美胖MM短袖| 无遮挡啪视频APP| 久久精品国产精品青草| 70歳の熟女セックス| 日韩欧美一区二区三区免费观看| 国产精品一区二区水蜜桃色欲 | 黑人又大又粗猛裂进出视频| 永久免费AV无码国产网站| 欧美一区二区三区视频在线观看| 丰满人妻被快递员侵犯的电影| 亚洲AV无码卡通动漫AV| 久久夜色精品国产网站| 锕锕锕锕锕锕锕好疼视频真人| 无码精品人妻一区二区三区蜜桃 | 男人进入女人里面想动还是不想动 | 男人J桶进女人P无遮挡| 丝袜灬啊灬快灬高潮了AV| 国产午睡沙发系列大全| 野花视频在线手机免费观看| 强奷乱码中文字幕熟女导航| 国产精品久久久天天影视香蕉| 亚洲欧美另类日本| 欧美亚洲国产精品久久蜜芽直播| 国产精品99精品无码视亚| 亚洲中文字幕A∨| 日韩人妻系列无码专区| 极品国产主播粉嫩在线观看| 91人妻中文字幕在线精品| 玩弄漂亮少妇高潮大叫| 久久久中精品2020中文 | 欧美视频二区欧美影视| 国产精品视频一区二区三区不卡| 夜夜精品浪潮AV一区二区三区| 日韩大片高清播放器| 娇小BBW搡BBBB搡BBBB| WWW国产成人免费观看视频| 午夜无遮挡男女啪啪免费软件 | 人妻少妇看A偷人无码电影| 国产又粗又猛又爽又黄的视频在线| 中文字幕亚洲精品无码| 天堂资源在线官网BT| 乱码一卡二卡新区永久入口| 国产成人18黄网站免费观看| 在教室伦流澡到高潮H强圩| 未满小14洗澡无码视频网站 | 久久国产免费直播|