Ich versuche, meine nodejs-App mit node-inspector zu debuggen. Google Chrome zeigt den Code jedoch nicht an.
Ich benutze Folgendes:
Node.js: v0.10.26
Express: 4.0.0
Knoteninspektor: v0.7.3
Google Chrome-Version: 34.0.1847.131
Dies ist, was ich tue, um den Debugger zu starten.
$ node-inspector
Node Inspector v0.7.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
In einer anderen Konsole
$ node --debug app.js
debugger listening on port 5858
$
Dann startete Google Chrome und ging zu
http://127.0.0.1:8080/debug?port=5858
Es öffnet den Node-Inspector, jedoch ohne Code. Alle Fenster sind leer.
Es wurde festgestellt, dass der Express-Server nicht auf Port 3000 lauscht.
Versucht alle nach Node-Inspector keine Verbindung zum Node herzustellen, aber kein Glück
Konnte nicht herausfinden, was mir fehlt. Wäre toll, wenn Sie Vorschläge hätten. Also kann ich meine Node.js-Apps in Google Chrome debuggen.
node.js
node-inspector
Genwip
quelle
quelle
Antworten:
Versuche
node --debug-brk app.js
statt nur zu rennen--debug
. Ihre Anwendung wird möglicherweise nicht angehalten, bevor sich der Knoteninspektor in den Knotenprozess einfügt. Mit--debug-brk
wird der Knoten gezwungen, in der ersten Zeile Ihrer App zu brechen und darauf zu warten, dass ein Debugger an den Prozess angehängt wird. Durch das Laden der Node-Inspector-Weboberfläche wird Node-Inspector an Ihren Node-Prozess angehängt. Aus diesem Grund fügen Sie den Knoten-Debug-Port in die Abfragezeichenfolge ein (localhost: 8080 / debug? port = 5858). Sie teilen dem Node-Inspector mit, an welchen Port er gelangen und an ihn angeschlossen werden soll.Hier ist ein animiertes GIF, das ich zusammengestellt habe und das eine vollständige Installation und Ausführung von Node-Inspector zeigt.
Im GIF benutze ich die
--debug
Flag, weil ich keinen Code debugge, der direkt beim Start ausgeführt wird. Ich debugge in einem Anforderungshandler, der nur ausgelöst wird, wenn die Seite angefordert wird. Das Aktualisieren der Seite führt daher dazu, dass der Knoteninspektor in dieser Zeile unterbrochen wird.Ich habe vor einiger Zeit auch ein 15-minütiges YouTube-Tutorial zusammengestellt.
http://youtu.be/03qGA-GJXjI
Ich hoffe das hilft!
quelle
node-inspector
Befehl und nicht dennode-debug
Befehl verwenden. Dernode-debug
Befehl führt sowohl Ihr Skript aus als auch startet den Node-Inspector-Server. Sie möchten nur den Server starten, nicht Ihr Skript. Dann können Sie Ihr Skript separat mit dem--debug-brk
Flag starten .Node-Inspector versucht standardmäßig, den gesamten Code vorzuladen, bevor das Debug-Fenster gestartet wird. Ich hatte Instanzen, Node-Inspector hängt wegen dieses Vorladens für immer. Glücklicherweise haben die neueren Versionen die Option, das Vorladen zu stoppen, wodurch das Laden des Inspektors schneller wird.
Versuchen
node-inspector --no-preload
quelle
Das Standard-Remote-Debugging ist in Knoten 6.5 vollständig fehlerhaft. Es wird jedoch durch eine neue interne Knotenfunktion ersetzt
$ node --inspect --debug-brk build/server/server.js Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the following URL in Chrome: chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node Debugger attached.
Weitere Informationen finden Sie hier - http://arveknudsen.com/?p=346%3Fpage_id%3D346&print=pdf
quelle
--debug-brk
ist jetzt veraltetVersuchen Sie
node --inspect-brk <your starting file name>
und gehen Sie dann zu Chrome und geben Sie url einchrome://inspect
und klicken Sie aufOpen dedicated DevTools for Node
, der Debugger wird gestartet, ohne dass ein Node-Inspector erforderlich istquelle
Auf der linken Seite des Knoteninspektors, Registerkarte "Quellen", befindet sich "ein Feld mit einem Dreieck". Durch Hervorheben wird "Navigator anzeigen" angezeigt. (Siehe Bild oben). Öffnen Sie das, um die Dateien zu finden, die Sie debuggen möchten, und setzen Sie einen Haltepunkt für Code, der noch nicht ausgeführt wurde.
Beachten Sie außerdem, dass Sie beim Starten von Code, der auf dem Startknoten ausgeführt wird, die
--debug-brk
Option beim Starten verwenden müssen. Dann müssen Sie im Node Inspector die AppF8
starten ( um alle auszuführen). Sie benötigen diese Option, wenn Sie den gesamten Initialisierungscode debuggen möchten, z. B. einen Webbrowser starten.quelle
node-debug --no-preload app.js
Das ist es, was für mich funktioniert. Accoriding auf diese :
quelle