5

Chrome kann zur Unterstützung von remote debugging gestartet werden, indem es über die Befehlszeile mit einer Eingabeaufforderung wie chrome.exe --remote-debugging-port=9222 --user-data-dir=C:/foo gestartet wird. Dies wird oft verwendet to debug on android or iOs mit einem Browser auf einem Desktop-Gerät, aber ich möchte Debug Chrome auf einem Desktop-PC ausführen. von einem "client browser" auf dem gleichen Rechner kann man localhost: 9222 aufrufen und im Server Browser, localhost: 9222/json aufrufen, wird eine json Darstellung der im "server browser" geöffneten Tabs angezeigt. Das funktioniert gut.Verwenden von Chromium Remote Debugging von externem Gerät

Wenn ich versuche, ein anderes Gerät im selben (Wifi) Netzwerk zu verwenden, indem ich [local IP]: 9222 oder [local IP]: 9222/json (lokale IP ist die IP des Server-Browsers) bekomme ich ein Verbindungstimeout Ist es möglich, Remote-Debugging auf diese Weise zu verwenden? Sind beim Starten des Browsers noch weitere Schalter erforderlich?

Bearbeiten Ich habe einige Verwendung von Forward-TCP für das Debuggen von mobilen Geräten gefunden, aber es gibt not seem to be such a switch for chrome.

Edit 2 Dies scheint ein bisschen ein Duplikat der Fragen here und here jedoch zu sein, als der noch habe ich nicht die Lösungen, um dort zu arbeiten präsentiert bekommen.

Also, das kommt anscheinend auf die Weiterleitung eines Ports an localhost: 9222. Allerdings habe ich zumindest bei Windows-Rechnern kein Glück mit SSH-Tunneln. Gibt es andere Möglichkeiten, um auf der Maschine weiter zu gehen?

Antwort

2

Wie Sie es bereits erwähnt haben, ist die Lösung, den Port weiterzuleiten. Im Folgenden finden Sie Ansätze für Linux und Windows.

Linux

Nachdem begonnen Chrom mit

chrome --remote-debugging-port=9222 

Sturm der Hafen

ssh -L 0.0.0.0:9223:localhost:9222 localhost -N 

Auf diese Weise können die debuggin Schnittstelle von einem externen Gerät ein auf Port zugreifen können Chrome Browser.

Windows-

Wie auf Windows (getestet auf 7,8) in this answer, gesehen, der einfachste Weg Forwarding ohne 3rd-Party-Anwendungen zu tun ist, über netsh

ich eine Batch-Datei mit folgendem erstellt haben Inhalt. Es muss als Administrator werden lief, und ohne vorherige Chrom Fenster öffnen:

netsh interface portproxy delete v4tov4 listenport=9222 listenaddress=0.0.0.0 
start /b cmd /c call "\program files\google\chrome\application\chrome.exe" -remote-debugging-port=9222 
timeout 5 
netsh interface portproxy add v4tov4 listenport=9222 connectaddress=127.0.0.1 connectport=9222 listenaddress=0.0.0.0 

Auf diese Weise können die debuggin Schnittstelle von einem externen Gerät auf Port zugreifen können.

Stellen Sie außerdem sicher, dass keine Firewall den entsprechenden Port blockiert.

2

Ich habe erfolgreich RInetD für die einfache Port-Weiterleitung in Windows 7 verwendet, habe es versucht und es funktionierte wie ein Charme, externe Debuggen eines Chrome-Browsers in Windows von einem Chrome in Mac/Ubuntu.

können Sie kostenlos herunterladen rinetd aus:

http://www.boutell.com/rinetd/

Entpacken Sie die Datei, eine leere Datei mit einem beliebigen Namen erstellen (I verwendet rinetd.conf), mit folgendem Inhalt:

0,0. 0,0 9223 127.0.0.1 9222

Die in Windows-Konsole laufen mit:

rinetd.exe -c rinetd.conf

Und voila!

1

Sie können dasselbe Verhalten erreichen, indem Sie das Argument --remote-debugging-address=[YOUR_EXTERNAL_IP_ADDRESS] wie gemeldet here ohne zusätzliche Software außer Chrome selbst hinzufügen.