Wie Debuggen von Node.js mit Knoten Inspektor richtig?
Habe ich eine app gebaut node.js und ich mit dem node-inspector, um zu Debuggen.
Aber es ist sehr schwer, weil:
- Meine Haltepunkte sind nie gespeichert, nachdem ich den server neu starten
- Ich kann nicht setzen Sie einen breakpoint auf eine Datei, die noch nicht geladen; so habe ich den Schritt in die aus dem ersten script den ich will; WIRKLICH SCHMERZHAFT!
Wie Sie wirklich Debuggen node.js mit node-inspector?
Den videos auf, wie zu verwenden node.js sind ziemlich irreführend, da ist alles in einem Modul...
http://www.youtube.com/watch?v=AOnK3NVnxL8
oder diese Skripte angezeigt werden, sind bereits geladen in der ersten Skript
http://www.youtube.com/watch?v=HJOH0-g8f6E&feature=mfu_in_order&list=UL
Edit:
Niemand diese Frage beantworten können? :s
InformationsquelleAutor der Frage Totty.js | 2012-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
In javascript können Sie Haltepunkte mit dem
debugger;
- Anweisung. Sie werden jedoch nur Knoten anhalten, wenn ein debugger ist tatsächlich angebracht.So starten Sie Ihre Knoten-Skript mit
dann starten Sie node-inspector, und drücken Sie die play-Taste, um weiter zum nächsten Haltepunkt und wird es schlagen Ihre
debugger;
Haltepunkt (zumindest das funktioniert bei mir ATM)(wie bereits in den Kommentaren: in den letzten Versionen von Knoten, die Sie nicht mehr separat installieren von node-inspector. Wenn Sie starten Sie den Knoten mit
node --debug-brk --inspect myfile.js
erhalten Sie eine url, startet der debugger in Ihrem browser).müssen Sie noch eine extra klicken Sie nach dem Neustart, aber zumindest Ihre Haltepunkte werden gespeichert.
wenn Ihr Haltepunkt erreicht wird nicht automatisch, sondern erst, nachdem einige Benutzer Aktion, die Sie nicht brauchen, die
--debug-brk
natürlich.InformationsquelleAutor der Antwort Jauco
Das problem mit client-side-breakpoints ist, dass es schwer zu verfolgen die breakpoint-position, wenn die Datei geändert wird. Im Gegensatz zu einem editor, kann es nicht verfolgen von Zeilen verändert wird, etc.
@RyanOlds Vorschlag mit debugger; Aussagen ist auch gut, aber Sie müssen sicherstellen, dass die debugger angeschlossen ist, bevor die Anweisung ausgewertet wird, weil es ansonsten ignoriert. Beginnend mit --debug-brk ist ein guter Weg, um dies zu erzwingen, da die Ausführung angehalten wird, auf die erste Zeile ermöglicht Ihnen, den debugger und dann weiter die Ausführung.
Könnten Sie versuchen, Debuggen mit Knoten interne debugger.
Edit: Allerdings, nach dem v8 DebuggerProtocol es möglich ist, Haltepunkte auf das Skript, das noch nicht geladen wurde, noch, UND Sie können Haltepunkte durch Funktion, script und mehr. Es sollte daher möglich sein, node-inspector zu verfolgen Ihre Haltepunkte (in einer Sitzung oder was auch immer). Es macht nicht so richtig jetzt, wenn.
Vielleicht, wenn v8-ermöglicht es ein bestimmtes Stück code auslösen, einen Haltepunkt, ähnlich wie Knoten debugger?
Edit: Es geht, Sie sollten in der Lage sein, um die trigger eine Pause durch das werfen einer alten Ausnahme (erwischt oder nicht erfasste).
InformationsquelleAutor der Antwort mtsr
Die neue version (0.3.x) von Knoten-Inspektor spart Haltepunkte im browser lokalen Speicher und stellt Sie automatisch.
https://github.com/node-inspector/node-inspector/pull/116
InformationsquelleAutor der Antwort alehro
Versuchen Sie es mit IntelliJ WebStorm - es gibt eine Kostenlose Testversion und Lizenzen sind nicht unverschämt teuer. Es ermöglicht Ihnen, speichern Sie alle Haltepunkte in allen Ihre Dateien vor der Inbetriebnahme seiner eigenen inneren Knoten verarbeiten und sich an Sie erinnert gesamten Prozess neu gestartet wird.
"Ich Stimme zu - Knoten-Inspektor sieht brilliant aus, aber ist ziemlich nutzlos, es sei denn, Ihr app hat einen klaren Ort, um einen Haltepunkt in der top-level-Skript nur nach Ihrer Quell-Dateien geladen haben, aber bevor Sie auf den Bereich, den Sie Debuggen möchten. Sie können die Struktur Ihrer eigenen code auf diese Weise, aber Sie werden nicht so viel Glück mit andere nützliche Bibliotheken, die Sie einbinden möchten. Auch... warum sollte ein debugging-tool, diktieren die Struktur Ihres Projekts!
Vergessen Haltepunkte extrem nutzlos... die meisten meiner debug läuft dauert mehr als einen Durchlauf, als in anderer Leute code es ist einfach, Schritt vorbei, wo Sie sein wollen.
InformationsquelleAutor der Antwort asparagino
Können Sie Knoten-codein für die Inspektion. Es geht nicht, runtime-Haltepunkte, aber es sollte Leichtigkeit, die Inspektion Prozess.
https://github.com/ketamynx/node-codein/
InformationsquelleAutor der Antwort Silviu-Marian
Ebenfalls erwähnenswert.. vscode hat einen tollen debugger für Knoten.
https://code.visualstudio.com/
Verfügbar auf Mac, Linux & Windows.
Es hat Laufzeit Haltepunkte (ohne die Notwendigkeit des Schreibens debugger; Aussagen),
unterstützt variable Uhren, und hat sogar einen call-stack-Fenster (auch sehr schön).
Alles ist so automatisiert, es ist jetzt meine gehe über sublime text bei Verwendung von nodejs (und ich LIEBE sublime).
InformationsquelleAutor der Antwort willko747
Dies ist gebaut, jetzt einschließlich speichern Haltepunkte. Habe es gerade getestet in Knoten 7.3.0.
node --inspect --debug-brk app.js
Diese Drucke eine url wie diese
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/c3d5d93e-9d27-41b9-a4da-607e43c9d4f8
Setzen, dass in Chrome und du bist gut zu gehen.
Wenn Sie überspringen möchten, kopieren/einfügen der url, dies zu tun:
npm install -g inspect-process
inspect --debug-brk app.js
Leider die
inspect-process
Methode nicht behalten der Haltepunkte :-(.Hier ist ein video, das ich gemacht: https://youtu.be/rtZKUnks6jI
InformationsquelleAutor der Antwort RoccoB