eclipse सबस मैं एक्लिप्स जावा डीबगर में मौजूदा लाइन को कैसे निष्पादन कर सकता हूं?




सदी का सबसे बड़ा चंद्र ग्रहण (4)

"रन टू लाइन" प्रोग्राम को चलाने के लिए और रोके गए स्थिति में उपयोग करने की आवश्यकता होती है। दूसरा विकल्प डिबग-मोड में चलते समय उस लाइन के लिए एक ब्रेकपॉइंट सेट करना है

  1. ब्रेकपॉइंट जोड़ने के लिए एक ही पंक्ति पर स्रोत फलक में बाएं-बायां लंबवत बार डबल-क्लिक करें; या,
  2. रेखा का चयन करें और भागो> टॉगल ब्रेकपॉइंट पर जाएं

कम से कम, यह ईक्लिप्स 3.3.2 में है।

मैं वर्तमान कार्यवाही लाइन को उसी फ़ंक्शन में एक विशिष्ट पंक्ति पर बल देना चाहता हूं, संभवतः मध्यवर्ती लाइनों को छोड़ना मेरे सभी पुराने स्कूल डिबगर की यह सुविधा थी, लेकिन मुझे इसे ग्रहण में नहीं मिल पाया। क्या कोड बदलने के बिना ऐसा करने का कोई तरीका है?


मैंने भी इस सुविधा की लंबी मांग की है, और "रन टू लाइन" एक ही बात नहीं है

यह JVM की एक सीमा हो सकती है जावा गोटो को क्रियान्वित नहीं करता है, हालांकि इसके पास जंप स्टेटमेंट है, जैसे ब्रेक और जारी है। वे ब्लॉकों के स्तर पर हैं अगर यह एक JVM सीमा है, तो मेरा अनुमान है कि सुरक्षा वास्तुकला के कारण यह अधिक संभावना है। कार्यक्रम काउंटर के कड़े नियंत्रण वायरस जैसी इंटरलॉपर्स के लिए दुर्बल हैं - और दुर्भाग्य से डिबगर


पहले दो जवाबों को विषय याद नहीं आ रहा है, जब तक कि यह मुझे सवाल समझ में नहीं आता।

मेरी समझ, एक फीचर जो मैंने स्वयं को खोजा था, यह है कि आप कई लाइनों को छोड़ना चाहते हैं (कोड में कदम उठाने के लिए) और दिए गए रेखा में प्रोग्राम काउंटर (विधानसभा शब्दावली लेने के लिए) सेट करें यह कुछ महंगी वस्तु निर्माण को छोड़ना दिलचस्प हो सकता है, कुछ त्रुटि परिस्थितियों आदि देख सकते हैं। मैं इसे विज़ुअल स्टूडियो (सी या सी ++ कोड) में करना चाहता था।

मुझे नहीं मिला है कि ग्रहण में और न ही नेटबीन में। यह JVM की एक सीमा है, या कुछ नीतियों को लागू कर सकता है ...

रन कमांड निष्पादित करें, ज़ाहिर है, वर्तमान निष्पादन की स्थिति और निर्दिष्ट एक के बीच सभी पंक्तियां।


फ़ीचर अनुरोध कह रही है कि यह संभव नहीं है

Https://bugs.eclipse.org/bugs/show_bug.cgi?id=287795 ( अमित के श्रेय ) में डिन राइट का कहना है कि यह अंतर्निहित जावा डीबगर की एक सीमा है:

वर्तमान में, यह जावा डिबगर के साथ संभव नहीं है क्योंकि मूल डिबग इंटरफ़ेस प्रोग्राम को काउंटर को स्थानांतरित करने की क्षमता प्रदान नहीं करता है।

सी / सी ++

सीडीटी हालांकि इसे समर्थन करता है (निओन, उबंटू 14.04 पर परीक्षण किया गया) उस पंक्ति पर राइट क्लिक करें जिसे आप जाना चाहते हैं, और या तो चुनें:

  • "लाइन पर जाएं": लाइन पर कूदो और वहां तोड़ो
  • "लाइन में फिर से शुरू करें": लाइन पर कूद और वहाँ से निष्पादन जारी रखें

यह आगे के साक्ष्य के रूप में भी कार्य करता है कि जावा की एक अंतर्निहित सीमा है, क्योंकि ईक्लिप्स में अधिक सुविधा संपन्न होने की वजह से जावा और उन मेनू प्रविष्टियां "रन टू लाइन" (जो लाइनों के निष्पादन को नहीं छोड़ती) के पास जावा में मौजूद नहीं हैं ।

यह परीक्षा कार्यक्रम प्रिंट करता है 0 यदि आप रेखा i = 1 कूदते हैं:

#include <stdio.h>

int main(void) {
    int i;
    i = 0; /* Break here. */
    i = 1;
    printf("%d\n", i); /* Jump to here. */
}




execution