Wie kann ich Debuggen Node.js Anwendungen?
Wie debugge ich ein Node.js server-Anwendung?
Momentan bin ich meist mit alert-debugging mit print-Anweisungen wie diese:
sys.puts(sys.inspect(someVariable));
Es muss einen besseren Weg, um zu Debuggen. Ich weiß, dass Google Chrome hat einen Kommandozeilen-debugger. Ist dieser debugger verfügbar für Node.js wie auch?
Sie können Locus für command line injection.
Wenn Sie Debuggen möchten, mit dem herkömmliche IDE-appoach, verwenden Sie vscode verwenden vscode youtube.com/watch?v=egBJ0cd0GLM
Ich fand diesen Artikel sehr interessant, und es funktioniert für mich sehr gut: Debugging Node.js mit Chrome DevTools. Hoffe es hilft 🙂
"Warnung-debugging" 🙂
Wenn Sie Debuggen möchten, mit dem herkömmliche IDE-appoach, verwenden Sie vscode verwenden vscode youtube.com/watch?v=egBJ0cd0GLM
Ich fand diesen Artikel sehr interessant, und es funktioniert für mich sehr gut: Debugging Node.js mit Chrome DevTools. Hoffe es hilft 🙂
"Warnung-debugging" 🙂
InformationsquelleAutor Fabian Jakobs | 2009-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
node-inspector könnte den Tag retten! Verwenden Sie es von jedem browser unterstützt WebSocket. Haltepunkte, profiler, livecoding, etc... Es ist wirklich genial.
Installieren es mit:
Führen:
Leider für mich, node-inspector funktioniert nicht mit den neuesten Versionen von Node.js und es hat nicht unterstützte Protokollierung, um die browser-Konsole seit v0.1. Knoten-codein war nur buggy. Also schrieb ich mein eigenes Modul zu Debuggen, indem Sie die dump-Objekte und solche aus, um Ihre web-browser-Konsole. Ich dachte, dass es vielleicht auch jemand anderes: node-Affen. Plus funktioniert es in Firefox UND Chrome.
Da war so eine scheinbar tolle und beliebte tool sicherlich die Tatsache, dass der ursprüngliche Autor hat zugegeben, dass Sie nicht mehr die Ressourcen haben, um es aufrecht zu erhalten, wäre das kein problem, da die open-source-community könnte es abholen?
Jetzt Inspektor wird nun aktiv gepflegt von StrongLoop und arbeitet wieder mit der neuesten version (0.3) yay! Ankündigung hier: blog.strongloop.com/...
"Seit version 6.3, Node.js bietet eine buit-in-DevTools-basierten debugger, die meist deprecates Node-Inspector, siehe z.B. blog post, um loszulegen. Die built-in-debugger entwickelt, die direkt von den V8/Chrom team und bestimmte erweiterte Funktionen (z.B. lange/async-stack-traces), die zu schwer zu implementieren Node-Inspector." - sagt dem Knoten Inspektor repo
InformationsquelleAutor daralthus
Debugging
Profiling
node --prof ./app.js
node --prof-process ./the-generated-log-file
Heapdumps
Flamegraphs
Tracing
Protokollierung
Bibliotheken, die Ausgabe von debugging-Informationen
Bibliotheken, die Verbesserung der stack-trace Informationen
Benchmarking
ab -n 100000 -c 1 http://127.0.0.1:9778/
Anderen
Legacy
Diese verwenden können funktionieren, sind aber nicht mehr erhalten oder nicht mehr zutreffend, moderne Knoten-Versionen.
look
Modul, wie schon in stackoverflow.com/questions/12864221/nodejs-memory-profilingfalme Grafiken sind bereits in den chrome Entwickler-tools.
Ich finde nicht, die cpu Berichte aus nodetime sehr hilfreich: 1. Ich bekomme nur einen Baum von Methoden, mit kein 'selbst' Zeit. 2. Scheint, wie die äste abgeschnitten werden, unter eine bestimmte Anzahl von precentage. Diese 2 macht es sehr schwierig zu undestand, wo die cpu verbringt die meiste seiner Zeit.
npm install-g-profiler beschwert sich über fehlende python auf windows 7. Ich versuchte, zu python=C:\Python34\, aber das gibt einen crash.
Der einzige profiler arbeiten out of the box ist nodetime. Aber die cpu-profiling-stacktrace unbrauchbar ist (es gibt nicht genug details). Nodejs tools 4 msvc 2012 haben auch profiler, aber es hat auch berichtet kritisch unfixierten bug...
InformationsquelleAutor balupton
Den V8 debugger veröffentlicht als Teil der Google Chrome Developer Tools kann verwendet werden, um zu Debuggen Node.js Skripts. Eine detaillierte Erklärung, wie das funktioniert, finden Sie in der Node.js GitHub wiki.
+1 Funktionierte sehr gut für mich. Mit einer frischen Eclipse-3.x, x 64-version auf Mac OS X. Die installation die Anleitungen sind gut geschrieben, wie gut. Danke.
Kommt auch innerhalb Nodeclipse nodeclipse.org (mit einigen Node.js Fehler behoben)
Mein Einstieg in diese arena ist trepanjs (npmjs.com/package/trepanjs). Es hat alle von der Güte der Knoten debugger, aber passt besser zu gdb. Es hat auch mehr Funktionen und Kommandos wie syntax-highlighting, umfangreicher online-Hilfe und intelligenter Auswertung. Siehe github.com/rocky/trepanjs/wiki/Cool-things für einige der coolen features.
Das feature ist derzeit nur in den nightly-Versionen. Check out hier für Anweisungen:
https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.fitvuaumt
InformationsquelleAutor Fabian Jakobs
Knoten hat seine eigene gebaut in GUI-debugger ab version 6.3 (mit Chrome DevTools)
Übergeben Sie einfach das inspector-Flagge und werden Sie mit einer URL zu dem Inspektor:
Können Sie auch brechen Sie in die erste Zeile durch die übergabe
--inspect-brk
statt.Öffnen Sie ein Chrome-Fenster automatisch, verwenden Sie die inspect-Prozess Modul.
Schön. Ich aktualisierte die Antwort zu verwenden, statt. Viel einfacher einzurichten und besser funktioniert 🙂
Diese Antwort ist derzeit am Boden und es ist die einzige, die wirklich für mich gearbeitet. Dies ist flipping genial!
Falls es hilft niemandem, warf ich ein video zur Erklärung dieses Prozesses auf youtu.werden/rtZKUnks6jI.
Wo hast du das dunkle Thema für den chrome developer tools?
InformationsquelleAutor Alister
Node.js version 0.3.4+ built-in debugging-Unterstützung.
node debug script.js
Handbuch: http://nodejs.org/api/debugger.html
Ich habe keine docs. gerade aktualisiert auf v0.3.5. eine Zeile "debugger;" im code, die als break-Punkt. Es funktioniert wie ndb / gdb. nachdem Sie die "Knoten debug script.js" geben Sie help ein. u sieht der Befehl it-support. p = Druck l = Liste... so brauchen Sie nicht zu geben, die ganze Welt
Siehe screencast unter vimeo.com/19465332
Hinweis: unter windows ist es "node.exe --debug myscript.js" aber es immer noch nicht funktionieren.
Sie haben wahrscheinlich ändern
--debug
zudebug
ohne Bindestriche. Das ist, wie ich es endlich an die Arbeit. Es ist verwirrend, dass--debug
unddebug
tun zwei verschiedene Dinge.InformationsquelleAutor JulianW
Visual Studio Code wird meine Wahl sein für die Fehlersuche. Ohne Aufwand der Installation keine Werkzeuge oder
npm install
Zeug.Setzen Sie einfach den Ausgangspunkt Ihrer app im Paket.json und VSCode wird automatisch eine Konfigurations-Datei in die Lösung. Es ist bauen auf Elektron, auf welche Editoren wie Atom gebaut werden.
aber erhabenen nicht mit einem debugger,und ich denke, dass VS-code ist auch ziemlich schnell
Ich habe eine sublime Lizenz seit 5 Jahren. Seit ein paar Monaten habe ich gar nicht installieren, Sublime Text, nur vscode. Out of the box hat eine Menge von Werkzeugen, die vermisse ich in Sublime (wie das integrierte terminal..).
immer wieder Fragen mich für einen config-Ordner, es funktioniert nicht out of the box
InformationsquelleAutor Shreyas
Ich persönlich benutze JetBrains WebStorm wie es ist der einzige JavaScript-IDE, die ich gefunden habe, das ist toll, sowohl für frontend-und backend-JavaScript.
Funktioniert es auf mehreren OS ' s und hat Node.js debugging eingebaut (sowie eine Tonne von anderen Sachen](http://www.jetbrains.com/webstorm/features/index.html).
Meine einzigen 'Probleme'/wishlist Elemente
wurden:Es scheint zu sein, mehr Ressourcen-hungrig auf Mac als WindowsEs scheint nicht mehr ein Problem in der version 6.Es wäre schön, wenn es hatte Snippet-support (wie die von Sublime Text 2 - also Typ "fun", und Tippen Sie auf 'tab', um in einer Funktion.Siehe @WickyNilliams unten einen Kommentar - Mit Live-Vorlagen, die Sie auch haben snippet-support.Wenn Sie nur wollen, um zu Debuggen node.js app und bereits ein Intellij IDEA-Lizenz können Sie einfach installieren Sie die node.js plugin, ohne zu kaufen, die WebStorm Lizenz. Die Einrichtung eines run/debug-Konfiguration ist sehr einfach, sobald das plugin installiert ist.
InformationsquelleAutor isNaN1247
Theseus ist ein Projekt von Adobe-Forschung, die ermöglicht es Ihnen Debuggen Node.js -code in Ihre Open-Source-editor Klammern. Es hat einige interessante features, wie Echtzeit-code-coverage-rückwirkend Inspektion, asynchrone Aufruf-Baum.
Ich bin derzeit liebevoll Theseus, aber ich habe noch einige Probleme, wo ich einen breakpoint setzen und die trace durch. Ich bin derzeit mit töten meine app, starten Sie den Knoten mit --debug, trace trhough und starten Sie dann die app mit Knoten-theseus. Ist es möglich, verwenden Sie Theseus mit den breakpoints? Ich habe versucht, auf der Suche rund um die GitHub-Seite, StackOverflow und Foren, aber kein Glück so weit. Bin ich etwas fehlt?
InformationsquelleAutor Sindre Sorhus
Viele tolle Antworten hier, aber ich möchte noch hinzufügen, dass meine Ansicht (auf der Grundlage, wie mein Ansatz entwickelt)
Debug-Protokolle
Let ' s face it, wir alle lieben eine gute
console.log('Uh oh, if you reached here, you better run.')
und manchmal, das funktioniert Super, so dass, wenn Sie eher zurückhaltend, zu verschieben, zu weit Weg von mindestens fügen Sie einige bling auf deine logs mit Visionmedia debug.Interaktive Debugging
Als praktisch als Konsolen-Protokollierung, Debuggen, Professionell müssen Sie die ärmel hochkrempeln und in stecken. Festlegen von Haltepunkten, Schritt für Schritt durch den code, untersuchen Bereiche und Variablen, um zu sehen, was verursacht, dass ein komisches Verhalten. Wie andere erwähnt haben, node-inspector wirklich ist der Bienen-Knie. Es tut alles, was Sie tun können, mit dem eingebauten debugger, aber mit der vertrauten Chrome-DevTools-Schnittstelle.
Wenn Sie, wie ich, verwenden Webstorm, dann hier ist eine praktische Anleitung zum Debuggen von dort.
Stack-Traces
Standardmäßig, können wir nicht nachvollziehen, eine Reihe von Operationen in unterschiedlichen Zyklen von der Ereignis-Schleife (Zecken). Um dies zu umgehen haben Sie einen Blick auf longjohn (aber nicht in der Produktion!).
Speicherverluste
Mit Node.js wir haben einen server-Prozess erwartet zu bleiben für erhebliche Zeit. Was tun Sie, wenn Sie denken, es entstanden einige böse Lecks? Verwenden heapdump und Chrome DevTools zu vergleichen, ein paar Schnappschüsse und sehen, was sich verändert.
Für Sie einige hilfreiche Artikel, check-out
Wenn Sie glauben, wie Sie ein video, (s) dann
Welchen Weg auch immer Sie wählen, nur sicher sein, Sie verstehen, wie Sie Sie Debuggen
InformationsquelleAutor Philip O'Brien
Node.js Tools für Visual Studio 2012 oder 2013 beinhaltet einen debugger. Die übersicht hier Staaten "Node.js Tools für Visual Studio enthält vollständige Unterstützung für das Debuggen von node-apps.". Als neu zu Node.js aber mit einem hintergrund in .NET, die ich gefunden habe, dieses add in zu sein eine große Weise, zu Debuggen Node.js Anwendungen.
InformationsquelleAutor John81
Visual Studio Code hat wirklich schöne Node.js die debugging-Unterstützung aus. Es ist frei, open source und cross-Plattform und läuft auf Linux, OS X und Windows.
Können Sie noch debug -grunt und gulp Aufgaben, sollten Sie brauchen, um...
Nachdem er einen ganzen Abend erste node-inspector und strongloop funktioniert unter windows (Visual Studio Community, das downgrade auf npm-2, Installation von python -, env-Variablen, verwenden Sie cmd nicht babun / cygwin usw. etc.) und dann spielen Sie mit diesem für eine Stunde, ich muss sagen, das ist die beste option, zumindest in windows und möglicherweise im Allgemeinen (wenn Sie nicht haben webstorn)
InformationsquelleAutor hans
Schrieb ich einen anderen Ansatz zum Debuggen Node.js code, welcher läuft stabil und ist extrem einfach. Es ist erhältlich unter https://github.com/s-a/iron-node.
Einer Open-Source, cross-Plattform-visual debugger.
Installation:
npm install iron-node -g;
Debug:
iron-node yourscript.js;
InformationsquelleAutor Stephan Ahlf
Wenn Sie die Atom-IDE, können Sie installieren die
node-debugger
Paket.InformationsquelleAutor Uchiha Itachi
Erstellte ich ein nettes kleines tool namens pry.js, die Ihnen weiterhelfen können.
Stellen eine einfache Aussage, die irgendwo in Ihrem code, führen Sie Ihr Skript normal und Knoten wird halt der aktuelle thread, dass Sie Zugriff auf alle Ihre Variablen und Funktionen. Anzeigen/Bearbeiten/löschen von Ihnen zu werden!
InformationsquelleAutor BlaineSch
Chrome Version 67.0.3396.62(+)
Gibt es ein weiteres DevTools Fenster wird pop-out speziell für das Debuggen von node-app.
InformationsquelleAutor babidi
Gibt es built-in command line debugger-client innerhalb Node.js. Cloud 9 IDE haben auch ziemlich nice (visual) debugger.
InformationsquelleAutor yojimbo87
Visual Studio Code wird für uns arbeiten, das Debuggen.
InformationsquelleAutor Surendra Parchuru
Ich zusammen eine kurze Node.js debugging-primer über die Verwendung der node-inspector für diejenigen, die nicht sicher sind, wo, um loszulegen.
InformationsquelleAutor Josh Habdas
Wenn Sie ein leistungsfähiges logging-Bibliothek für Node.js, Tracer https://github.com/baryon/tracer ist die bessere Wahl.
Gibt es log-Meldungen mit einem Zeitstempel, Datei-Namen, Methoden-Namen, die Zeilennummer, den Pfad oder die call-stack, Unterstützung Farbe-Konsole und support-Datenbank, Datei, stream transport leicht. Ich bin der Autor.
InformationsquelleAutor Baryon Lee
Vorausgesetzt Sie haben die node-inspector auf Ihrem computer installiert (wenn nicht, geben Sie einfach 'npm install-g node-inspector"), die Sie gerade ausgeführt haben:
Und fügen Sie den URI aus der Befehlszeile in eine WebKit (Chrome /Safari) browser.
InformationsquelleAutor Shaheen Ghiassy
Nur der Vollständigkeit halber:
Den PyCharm 3.0 + Node.js Plugin bietet eine tolle Entwicklung + ausführen + Debuggen Erfahrung.
InformationsquelleAutor Alex
Webstorm Verwenden! Es ist perfekt für debugging Node.js Anwendungen. Es hat einen integrierten debugger. Überprüfen Sie heraus die docs hier: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html
InformationsquelleAutor OneMoreQuestion
Starten Sie Ihre Knoten-Prozess mit --überprüfen Flagge.
node --inspect index.js
Öffnen und dann
chrome://inspect
in Chrom. Klicken Sie auf die "Öffnen gewidmet DevTools für Knoten" - link oder installieren diese chrome-Erweiterung für die einfache Eröffnung chrome DevTools.Weitere Infos finden Sie diese link
InformationsquelleAutor Rahul Kumar
Gibt es die neue open-source - Nodeclipse Projekt (als Eclipse-plugin oder Enide Studio):
http://www.nodeclipse.org/img/Nodeclipse-1-debugging.png
Nodeclipse wurde #1 in Eclipse-Top-10-NEUE Plugins für 2013. Es nutzt eine modifizierte V8 debugger (von Google Chrome Developer Tools for Java).
Nodeclipse ist freie open-source-software veröffentlicht zu Beginn eines jeden Monats.
InformationsquelleAutor Paul Verest
IntelliJ funktioniert wunderbar für Node.js.
Zusätzlich, IntelliJ unterstützt den "Code-Hilfe" gut.
InformationsquelleAutor 卢声远 Shengyuan Lu
Den NetBeans IDE hat Node.js Unterstützung seit version 8.1:
Zusätzliche Verweise:
InformationsquelleAutor Sergey Brunov
Gibt es viele Möglichkeiten...
Debug-Unterstützung ist oft umgesetzt mit der v8-Debugging-Protokoll oder die neuere Chrome-Debugging-Protokoll.
InformationsquelleAutor cmd
Einen quick-and-dirty Weg, um debug-kleine Node.js Skripte mit Ihrem bevorzugten browser-debugger wäre, die Nutzung browserify. Beachten Sie, dass dieser Ansatz funktioniert nicht mit allen Anwendungen, die native I/O-Bibliotheken, aber es ist gut genug für die meisten kleinen scripts.
Nun verschieben Sie alle Ihre
var x = requires('x')
Aufrufe in einerrequires.js
Datei und ausführen:(Der Nachteil hier ist, dass Sie entweder zu verschieben oder kommentieren Sie die
requires
in alle Ihre Dateien.)Gehören die
bundle.js
in einer HTML-Datei, etwa so:Laden Sie nun die Datei in Ihrem browser und drücken Sie F12 und viola: debug in browser.
InformationsquelleAutor Gerold Meisinger
InformationsquelleAutor matt burns
Verwenden Sie diese Befehle
InformationsquelleAutor Zahirul Haque