2012-11-14 28 views
5

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

मैं 64 बिट विंडोज 7 मशीन पर 32 बिट ग्रहण 3.6.1 का उपयोग कर रहा हूं। मैं 32 बिट जावा 1.6 अपडेट 37 का उपयोग कर रहा हूं। ऐप को पैकेज करने के लिए मैं एक्लिप्स उत्पाद निर्यात विज़ार्ड का उपयोग करता हूं, और मैं eclipse.exe के साथ समाप्त होता हूं। मैंने एक दूरस्थ डीबग कॉन्फ़िगरेशन बनाया है और पोर्ट 8765 (यादृच्छिक संख्या) का उपयोग करने के लिए इसे सेट किया है। डीबगिंग उद्देश्यों के लिए, मैं इस लाइन का उपयोग कमांड लाइन से ऐप्स प्रारंभ:
eclipse.exe -Xdebug -Xrunjdwp: परिवहन = dt_socket, पता = 127.0.0.1: 8765

कि क्या मैं संलग्न कर रहा हूँ या के माध्यम से सुनने पर निर्भर करता है मेरा ग्रहण डीबगर, मैं सर्वर = [y/n] विकल्प को इस कमांड लाइन में जोड़ दूंगा लेकिन ऐसा कोई फर्क नहीं पड़ता है।

कॉन्फ़िगरेशन कनेक्शन प्रकार के लिए मैंने मानक (सॉकेट सुनो) और मानक (सॉकेट अटैच) दोनों की कोशिश की है। जब मैं सॉकेट सुनो कोशिश करता हूं, तो मेरा डीबगर सुनना शुरू कर देगा - "पोर्ट 8765 पर कनेक्ट करने के लिए वीएम की प्रतीक्षा करना", लेकिन जब मैं कमांड लाइन के माध्यम से अपना ऐप शुरू करता हूं, तो ऐप ठीक शुरू होता है लेकिन डीबगर कभी नहीं जुड़ा होता है।

जब मैं सॉकेट संलग्न की कोशिश, मैं पहले

मैं "दूरस्थ वी एम। कनेक्शन अस्वीकृत करने के लिए कनेक्ट करने में विफल" कमांड लाइन है, तो जब मैं ग्रहण का उपयोग कर संलग्न करने के लिए प्रयास करते हैं, मैं संदेश मिल का उपयोग करके ऐप शुरू हमने पते के सभी विभिन्न संयोजनों की कोशिश की: लोकलहोस्ट, 127.0.0.1, और मेरा स्थानीय आईपी पता। मुझे हर बार एक ही परिणाम मिलता है।

किसी भी मदद के लिए धन्यवाद!

उत्तर

9

आप -vmargs पैरामीटर खो रहे हैं। प्रयास करें "eclipse.exe -vmargs -Xdebug -Xrunjdwp: परिवहन = dt_socket, पता = 127.0.0.1: 8765"

मैं एक ही बात के लिए खोज रहा था और यह सहायक पद http://blog.ankursharma.org/2010/05/remote-debugging-eclipse.html

+0

वाह यह आखिरकार काम कर रहा है! आपकी सहायता के लिए धन्यवाद; मैं बस इस तकनीक पर छोड़ दिया था। – JasonK

+1

मुझे अतिरिक्त सर्वर की भी आवश्यकता है और अंकुरा के ब्लॉग पर देखे गए तर्कों को निलंबित करें: -vmargs -Xdebug -Xrunjdwp: transport = dt_socket, server = y, suspend = n, पता = 1044 – Eric

1

मुझे लगता है कि आपके आरसीपी एप्लिकेशन को डीबग करने का एक बेहतर तरीका इसे "कंसोल" "-कंसोलॉग" के साथ लॉन्च करना है। यह आपको ओजीआई कंसोल देता है, जहां आप जांच सकते हैं कि कौन से बंडलों ने शुरू नहीं किया है, सेवाओं को निर्यात नहीं किया गया है। उपलब्ध आदेशों की सूची प्राप्त करने के लिए help टाइप करें।

+0

मुझे खुशी में इस सवाल का जवाब मिल गया अपने जवाब दे दो। मैंने आपके द्वारा सुझाए गए विकल्पों को शामिल करने के लिए अपनी कमांड लाइन को संशोधित किया। बंडलों और सेवाओं की स्थिति की जांच करना "आलसी", "सक्रिय", और "हल" जैसे मूल्यों को वापस लौटाता है, और मैं वर्तमान में इसका अर्थ समझ नहीं पा रहा हूं, इसलिए ऐसा लगता है कि मेरे पास कुछ शोध है। जो मैं देख सकता हूं, वह सब सामान्य दिखता है। – JasonK

+0

आप डायग कमांड का उपयोग यह देखने के लिए कर सकते हैं कि क्या आपके बंडल की निर्भरताएं सही ढंग से हल की गई हैं या नहीं। यदि ऐसा है, तो प्रारंभ कमांड के साथ बंडल शुरू करने का प्रयास करें। – mbelow