2011-07-26 8 views
18

मैं दूरस्थ debugg करने के लिए एक क्रोम उदाहरण क्रोम में दूरस्थ डिबग विकल्प का उपयोग कोशिश कर रहा हूँ के साथ काम नहीं करता है:क्रोम दूरस्थ डीबगिंग आईपी

chrome.exe --remote-debugging-port=1337 

गूगल पृष्ठ पर बताई गईं के रूप में: http://code.google.com/chrome/devtools/docs/remote-debugging.html

समस्या जब मैं आईपी का उपयोग करके इसे एक्सेस करने का प्रयास करता हूं तो यह स्थानीय काम के साथ परीक्षण करते समय काम नहीं करता है: 1337 काम करता है।

किसी भी विचार?

+1

बंदरगाह खिड़कियों पर खुला है: इसलिए यह एक मदद के लिए लोगों को भविष्य में यहां अटक हो सकता है आइक यहाँ यह लिंक करने के लिए? जब आपको इस पोर्ट के लिए विंडोज फ़ायरवॉल नियमों में जोड़ना नहीं है! – Azd325

+0

http://www.webkit.org/blog/1620/webkit-remote-debugging/ – Azd325

उत्तर

14

मुझे नहीं लगता कि क्रोम स्थानीयहोस्ट (सुरक्षा कारणों से) से कनेक्शन स्वीकार करता है। मैं सुझाव दूंगा कि आपको उसी होस्ट पर छोटी प्रॉक्सी बनाना होगा जहां क्रोम है।

+3

यह स्वीकार किए जाते हैं जवाब होना चाहिए। –

+0

क्योंकि वे मोबाइल उपकरणों है कि आप अपने डेस्कटॉप से ​​एक स्मार्टफोन – Azd325

+0

से नहीं डिबग और कर सकते हैं के लिए बनाया क्या संसाधन तक प्रॉक्सी बनाने के लिए सिफारिश की होगी? मैं ज्यादातर मामलों के लिए कल्पना करता हूं कि यह इसके लायक होने की तुलना में अधिक परेशानी है, लेकिन मैंने पिछले कुछ महीनों में यह कई बार सोचा है। –

22

आप दूरस्थ रूप से डीबग करने के लिए एक एसएसएच सुरंग सेट कर सकते हैं। स्रोत मशीन पर निष्पादित करें:

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

तब अन्य मशीन बिंदु क्रोम ब्राउज़र पर http://source-machine-ip रहे हैं:

+0

धन्यवाद! वह मेरे लिए ठीक काम करता है। मैंने कभी भी नेटकैट का उपयोग करने में कामयाब नहीं रहा। –

+0

धन्यवाद, रिमोट डीबगिंग के लिए दो जीएनयू/लिनक्स बॉक्स चैट करने के लिए, मुझे बस दूसरी बार (15 अगस्त को संदर्भित) की आवश्यकता थी। – GJSmith3rd

12

किसी अन्य कंप्यूटर के साथ अपने डिबगिंग सत्र साझा करने का सबसे आसान तरीका है socat के साथ है। उदाहरण के लिए, यदि आप पोर्ट 1337 पर दूरस्थ डीबगिंग प्रोटोकॉल

chromium --remote-debugging-port=1337 

तब का उपयोग कर सक्रिय कर दिया है, तो आप एक सुरंग socat का उपयोग कर,

socat tcp-listen:5656,fork tcp:localhost:1337 

यह करने के बाद भी बना सकते हैं, किसी को भी बस यात्रा कर सकते हैं http://<YOUR_IP_OR_HOSTNAME>:5656/ और तुरंत डीबगर का उपयोग करें।

कार्य पूरा हो जाने, प्रेस Ctrl +सी socat समाप्त कर देंगे और इस प्रकार सुरंग को रोकने के लिए।
यदि पिछला कोड काम नहीं करता है, तो जांचें कि फ़ायरवॉल (उदा। iptables) पहुंच को अवरुद्ध कर रहा है या नहीं। अगर फ़ायरवॉल ठीक है, तो जांचें कि आईपी पता या होस्ट नाम वास्तव में सही है या नहीं। यह देखने के लिए कि यातायात सही ढंग से अग्रेषित/सुरंग है, http://localhost:5656/ पर जाएं और सत्यापित करें कि एक वेबकिट डीबगर उदाहरण चल रहा है।

6
  1. नेतृत्वहीन सर्वर खिड़कियों पर

    chrome.exe --remote-debugging-port=9222 
    
  2. सेट करें पोर्ट अग्रेषण शुरू

    netsh interface portproxy add v4tov4^ 
        listenport=9222 listenaddress=0.0.0.0^ 
        connectaddress=127.0.0.1 connectport=9222 
    
+0

विंडोज़ पर, यह विंडोज फ़ायरवॉल में एक इनबाउंड नियम जोड़ने के संयोजन के साथ किसी भी अतिरिक्त पोर्ट अग्रेषण यूटिल को स्थापित करने की आवश्यकता के बिना अच्छी तरह से काम करता है। पूर्ण निर्देशों के लिए मेरा उत्तर देखें ... –

+0

ध्यान दें कि [लाइन निरंतरता चरित्र] (https://stackoverflow.com/a/69079/712526) 'cmd.exe' के लिए ('^') है (जैसा कि मैंने किया है ऊपर जोड़ा गया), लेकिन इसके बजाय PowerShell के लिए बैकटिक ('\' ') है। – jpaugh

6

मेरे लिए काम किया करते समय निम्न Windows 8 पर एक क्रोम दूरस्थ डीबगिंग मेजबान चल

  1. "Windows फ़ायरवॉल" के लिए Windows फ़ायरवॉल के लिए एक इनबाउंड नियम जोड़ें
    • खोजें और "Windows फ़ायरवॉल" परिणाम
    • "Windows फ़ायरवॉल" नियंत्रण कक्ष विंडो के बाईं पर का चयन करें, क्लिक करें "उन्नत सेटिंग" ।यह "उन्नत सुरक्षा के साथ विंडोज फ़ायरवॉल" खुल जाएगा।
    • बाईं तरफ ट्री व्यू में वह
    • का चयन करें "पोर्ट" "इनबाउंड नियम"
    • दूर सही, क्लिक पर क्लिक करें "नया नियम ..." (अगला पर क्लिक करें)
    • टीसीपी का चयन करें और सेट "विशिष्ट स्थानीय बंदरगाहों" 9222 करने के लिए (अगला पर क्लिक करें)
    • चुनें "कनेक्शन की अनुमति दें" (अगला पर क्लिक करें)
    • प्रोफ़ाइल एक्सेस (डोमेन, निजी, सार्वजनिक) चुनें अपनी आवश्यकताओं (अगला पर क्लिक करें)
    • को सूट करने के लिए यह Chrome Remote Debugging (9222) जैसे नाम (समाप्त क्लिक करें)
  2. पालन user3445047's instructions on port forwarding:

भागो Chrome को Windows मेजबान पर:

chrome.exe --remote-debugging-port=9222 

सेट अप विंडोज मेजबान पर पोर्ट अग्रेषण:

एक cmd खिड़की खोलें। आपको "व्यवस्थापक के रूप में चलाएं" होना चाहिए।

netsh 
interface 
portproxy 
add v4tov4 listenport=9222 connectaddress=127.0.0.1 

ग्राहक पर, http://THE_HOST_IP_ADDRESS:9222 पर जाएँ और आप "inspectable पेज" की एक सूची के साथ प्रस्तुत किया जाना चाहिए:

cmd विंडो में निम्न दर्ज करें।

3

हाल Chrome संस्करणों कमांडलाइन स्विच "--remote-डिबगिंग-पता" का समर्थन तो ऊपर सूचीबद्ध समाधान नहीं रह आवश्यक होना चाहिए।

यहाँ विवरण:। "दिए गए पते बजाय डिफ़ॉल्ट लूपबैक के दूरस्थ डीबगिंग कनेक्शन स्वीकार करने के लिए प्रयोग करें --remote-डिबगिंग बंदरगाह के साथ एक साथ उपयोग किया जाना चाहिए ध्यान दें कि दूरस्थ डीबगिंग प्रोटोकॉल प्रदर्शन नहीं करता। किसी भी authentica मोर्चे, तो यह भी व्यापक रूप से उजागर एक सुरक्षा जोखिम हो सकता है "

+0

क्या आप जानते हैं कि इसका उपयोग कैसे करें? मैंने सभी प्रकार की चीजों की कोशिश की है और मैं डीबग टूल्स को दूरस्थ रूप से एक्सेस नहीं कर सकता। क्या यह रिमोट क्लाइंट आईपी के लिए पूछ रहा है? या यह एक DNS नाम मांग रहा है जो मेरी मशीन को हल करेगा? – Sean256

+0

@ शॉन 256 क्या आपने इसे समझ लिया? इससे कोई फर्क नहीं पड़ता कि मैं किस प्रयोग का उपयोग करता हूं, मैं यह काम नहीं कर सकता .. –

+2

@MarcusStade मैंने नहीं किया है। मैंने बाद में एक एसएस सुरंग बनाने का सहारा लिया है। इसे तोड़ा जाना चाहिए। – Sean256

0

आप netcat के साथ सरल टीसीपी प्रॉक्सी बना सकते हैं:।

EXTERNAL_PORT=1338 
CHROME_DEBUG_PORT=1337 # This is the port specified with --remote-debugging-port 

nc -l -p ${EXTERNAL_PORT} -c "nc 127.0.0.1 ${CHROME_DEBUG_PORT}" 
0

के बाद से मैं एक ही समस्या का एक सा था, लेकिन नहीं मिला एसओ पर एक उचित समाधान लेकिन मेरे द्वारा, मैं एल होगा

Chrome remote debugging in a seleniumgrid