2016-07-12 12 views
7

मैं वी.एस. कोड लेकिन, पर एक Node.js आवेदन डिबग करने के लिए जब टर्मिनल को खोलता है, मैं यह संदेश प्राप्त कोशिश कर रहा हूँ:वी.एस. कोड EADDRINUSE त्रुटि पर डीबग Node.js

त्रुटि: EADDRINUSE सुनने ::: 5858

मेरा एप्लिकेशन स्ट्रॉज (https://github.com/simonswain/straw) नामक एक ढांचे का उपयोग करता है और यह एक ही समय में कुछ अलग प्रक्रियाओं को शुरू करता है। मुझे लगता है कि यह त्रुटि का कारण है क्योंकि एक ही डीबगर का उपयोग करने की कोशिश कर रहे कई अलग-अलग प्रक्रियाएं हैं।

मुझे एक समान प्रश्न (VSCode will not stop on breakpoints when first node prcess forks a second) मिला लेकिन attach.js फ़ाइल पर पोर्ट कॉन्फ़िगर नहीं किया गया, समस्या बनी रहती है।

यह मेरा वास्तविक launch.json फ़ाइल है:

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Launch", 
     "type": "node", 
     "request": "launch", 
     "port": 5858, 
     "program": "${workspaceRoot}/run.js", 
     "stopOnEntry": false, 
     "args": [], 
     "cwd": "${workspaceRoot}", 
     "preLaunchTask": null, 
     "runtimeExecutable": null, 
     "runtimeArgs": [ 
      "--nolazy" 
     ], 
     "env": { 
      "NODE_ENV": "development" 
     }, 
     "externalConsole": true, 
     "sourceMaps": false, 
     "outDir": null 
    } 
]} 

धन्यवाद!

+1

मुझे यह त्रुटि मिली है क्योंकि नोड को यह पोर्ट पहले से ही किसी अन्य प्रक्रिया द्वारा उपयोग किया जा रहा है ... क्या आपने एक अलग बंदरगाह की कोशिश की है? –

+0

हां, मैंने कुछ अलग-अलग बंदरगाहों की कोशिश की है –

उत्तर

1

मुझे एक ही समस्या थी। यदि आपने सीएमडी से नोड - डिबग शुरू किया है, तो आपको केवल अपने वीएस कोड में प्रक्रिया को संलग्न करना होगा (यदि आप उसी पोर्ट पर वीएस कोड से इसे फिर से लॉन्च करने का प्रयास करते हैं तो यह एक त्रुटि का कारण बन जाएगा - यह मेरी गलती थी)।

कुछ इस तरह के साथ launch.json में संलग्न निर्धारित विन्यास वस्तु:

{ 
    "type": "node", 
    "request": "attach", 
    "name": "Attach to Process", 
    "port": 5858 
} 

ऊपरी बाएँ कोने में लटकती में प्रक्रिया के लिए अनुलग्न चुनें और प्रेस हरी प्ले बटन - प्रारंभ डिबगिंग।

+0

क्या आपका उपरोक्त उत्कृष्ट उत्तर जो मैंने अभी प्रतिष्ठा बिंदुओं से सम्मानित किया है, यदि मैं आपके संलग्नक [नोड] प्रक्रिया ऑब्जेक्ट को एक (जीडीबी) लॉन्च प्रोसेस ऑब्जेक्ट के साथ एक वीएससीओडी कंपाउंड लॉन्च कॉन्फ़िगरेशन में जोड़ता हूं और ऊपरी बाएं कोने में ड्रॉपडाउन में कंपाउंड लॉन्च विकल्प चुनें और हरे रंग के प्ले बटन दबाएं - डिबगिंग शुरू करें। इसलिए मैं एक node.js प्रक्रिया में निर्बाध रूप से कदम उठा सकता हूं जो सी ++ एडन के ब्रेकपॉइंट्स में कदम उठाने के बाद पहले कस्टम सी ++ एडन को कॉल करता है और फिर ब्रेकपॉइंट डीबगिंग के लिए मूल node.js प्रक्रिया पर वापस आएं? धन्यवाद। – Frank

+0

मुझे वास्तव में खेद है, लेकिन मुझे एडॉन्स के साथ कोई अनुभव नहीं है। हालांकि, यह केवल एक प्रक्रिया है कि कैसे VSCode को नोड में संलग्न करना है; इसका डिबगर्स संयोजन पर कोई प्रभाव नहीं होना चाहिए। – stijena

+0

EADDRINUSE की समस्या: पोर्ट 5858 केवल मेरे मेरे डेल विन्डोज़ 10 लैपटॉप पर रेडहाट लिनक्स वर्चुअल बॉक्स पर चल रहा है जिसमें नोड v6.11.1 स्थापित है जब DELL लैपटॉप डॉक किया गया है और कंपनी ईथरनेट नेटवर्क से जुड़ा हुआ है। EADDRINUSE समस्या तब नहीं होती जब मैं किसी कंपनी नेटवर्क से जुड़ा हुआ न हो। एक सहकर्मी ने मुझे बताया कि उसने सोचा था कि बंदरगाह 5858 पहले से ही प्रॉक्सी, शायद http-प्रॉक्सी द्वारा उपयोग किया जा सकता है, लेकिन जब मैंने विंडोज 10 टर्मिनल और रेडहैट लिनक्स वर्चुअल बॉक्स पर नेटस्टैट चलाया, तो EADDRINUSE हुआ, पोर्ट 5858 के लिए कोई प्रविष्टि नहीं थी। क्या मैं इस समस्या को ठीक करता हूँ? धन्यवाद। – Frank

संबंधित मुद्दे