Heim  >  Artikel  >  Web-Frontend  >  Wie debugge ich in node.js?

Wie debugge ich in node.js?

青灯夜游
青灯夜游nach vorne
2020-11-18 17:53:072433Durchsuche

Wie debugge ich in node.js?

Verwandte Empfehlungen: „nodejs Tutorial

Nachdem ich node.js ein paar Tage lang verwendet habe, fühle ich mich sehr neu, aber das Debugging-Problem ist wirklich nervig. Am Anfang war ich faul, die Debugging-Methode zu lernen Und schauen Sie sich einfach den Ausnahmeinhalt an. Da jedoch die Komplexität des Codes zunimmt, sind nicht alle Fehler Syntaxfehler, und ich musste nach Informationen suchen und lernen, wie man debuggt.

Der Service Supervisor muss nicht jedes Mal neu gestartet werden

Schüler, die PHP verwendet haben, müssen wissen, dass nach dem Ändern einer Skriptdatei neue Inhalte geladen werden, solange der Seitenserver aktualisiert wird, aber node.js dafür referenziert wird Nachdem eine bestimmte Datei zum ersten Mal analysiert wurde, wird sie beim nächsten Zugriff direkt aus dem Speicher abgerufen. Dies verursacht jedoch einige Probleme für unsere Entwicklung Bei einem bestimmten Modul kann es erst nach einem Neustart des Servers wirksam werden. Die Debugging-Effizienz ist immer noch sehr gering.

Es gibt also ein Supervisor-Plug-in in node.js, das uns hilft, Dateiänderungen zu konsolidieren und den Server automatisch neu zu starten. Es ist sehr einfach, den npm-Installationsbefehl zu verwenden Wir müssen es in der Konsole tun. Zum Ausführen muss es in der globalen Umgebung installiert werden

npm install -g supervisor

Damit wir den Supervisor verwenden können, um das Skript zu starten

supervisor index

Wenn wir Änderungen an der Datei vornehmen, können wir sehen dass es drei weitere Zeilen in der Konsole gibt und der Server neu gestartet wurde Fügen Sie die Debug-Option hinzu, wenn Sie den Dienst starten

Knoten.

Führen Sie das Skript aus, halten Sie in der ersten Zeile an.

Neustart. Führen Sie das Skript erneut aus Der nächste Haltepunkt wird erreicht

nächster, nSchritt in Schritt in eine FunktionVerlassen Sie eine FunktionSetzen Sie einen Haltepunkt in der ersten Zeile der Funktion f Setzen Sie einen Haltepunkt in Zeile 20 von script.jsAlle Haltepunkte löschenZeigen Sie den aktuellen Aufrufstapel an

aus, o

setBreakpoint(), sb()


Setzen Sie einen Haltepunkt in der aktuellen Zeile.
setBreakpoint('f()'), sb(...)


setBreakpoint('script.js', 20), sb(...)


clearBreakpoint, cb(.. .)

backtrace, bt

list(5)
Zeigen Sie die 5 Codezeilen davor und danach an der Strom Ausführung


watch(expr)
Ausdruck expr zur Beobachtungsliste hinzufügen


unwatch(expr)
Ausdruck expr aus Beobachtungsliste entfernen


Zuschauer
Show Beobachten Sie alle Ausdrücke und Werte in der Liste.


repl
Öffnen Sie eine sofortige Auswertungsumgebung im aktuellen Kontext

Skripte

Alle aktuell geladenen Skripte anzeigen

Version

V8-Version anzeigen

详细使用有兴趣同学可以自己摸索,我是没兴趣。。。太复杂了,看几个贴心的

使用Eclipse调试

是的,Eclipse又威武了,连node.js也能调试,在Eclipe官网上下载eclipse,然后 Help->Install New Software->Add

在弹出的窗口添加一个源,名字好记就行,地址是http://chromedevtools.googlecode.com/svn/update/dev/

等一会儿后弹出选择界面,选中第一个

 一路next到最后finish,下载完成后会提醒重启Eclipse,完成之后就可以调试node.js了,打开想调试的文件,切换Eclipse到调试视图,点击工具栏右边的小三角,选择Debug Configuration

双击 Standard V8 VM 选项创建一个新的配置,填好相应参数

通过 --debug-brk选项在控制台启动node服务器

node --debug-brk=5858 test.js

点击Eclipse刚才界面的debug按钮,就可以像调试Java一样调试node.js了

使用node-inspector调试

大部分node.js应用都是web应用,所以一些基于Chrome的在线调试工具应运而生,最出名的应该就是node-inspector了,这是一个node.js的模块,安装、使用相当的方便,首先使用npm把其安装在全局环境中

npm install -g node-inspector

node-inspector是通过websocket方式来转向debug输入输出的。因此,我们在调试前要先启动node-inspector来监听node.js的debug调试端口。默认情况下node-inspector的端口是8080,可以通过参数--web-port=[port]来设置端口。

在启动node-inpspector之后,我们可以通过--debug或--debug-brk来启动node.js程序。

这时候就可以访问http://127.0.0.1:8888/debug?port=5858 使用浏览器调试了,看看界面,不用多说什么了吧

最后

参考:node.js开发指南

PS:个人觉得还是最后一种最方便

更多编程相关知识,请访问:编程学习网站!!

Das obige ist der detaillierte Inhalt vonWie debugge ich in node.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen