2012-01-16 11 views
12

विजुअल स्टूडियो में, कर्सर द्वारा चुने गए लाइन पर कूदने और उस पंक्ति को निष्पादित करने के लिए डीबगिंग सत्रों के दौरान यह संभव था। उस लाइन पर कूदने के बाद, आप उस लाइन से डीबगिंग जारी रख सकते हैं जिसे आपने कूद लिया है। क्या यह सुविधा जावा/ग्रहण दुनिया पर मौजूद है?ग्रहण में डिबगिंग के दौरान, क्या एक लाइन पर कूदना और डीबगिंग के दौरान इसे निष्पादित करना संभव है?

उदाहरण के लिए:

foo1();

foo2();

foo3();

वापस लौटें;

विजुअल स्टूडियो में foo1() पर तोड़ना संभव है, कर्सर को foo3() पर रखें, foo2 निष्पादित किए बिना foo3() निष्पादित करें। इसके अलावा, जब "रिटर्न सच्चे" पर डीबगर बंद कर दिया जाता है, तो मैं कर्सर को foo1 पर रख सकता हूं, और फिर foo1 निष्पादित कर सकता हूं। इसके अलावा, मैं इन कार्यों के माध्यम से कोड की मनमानी रेखाओं को निष्पादित करना जारी रख सकता हूं।

+2

यह सुविधा मौजूद नहीं है। http://stackoverflow.com/questions/4864917/is-it-possible-to-go-back-in-java-eclipse-debugger-like-dragging-the-arrow-in – MedicineMan

+0

दिलचस्प। क्या होता है यदि आप इसे एक पंक्ति पर आगे बढ़ने के लिए कहते हैं और छोड़ी गई रेखाएं वेरिएबल्स घोषित करती हैं जिनका उपयोग आप जिस लाइन पर कूदते हैं, उसका उपयोग किया जाता है? –

+1

यदि यह एक मान वर्ग है, तो चरणीय दायरे में होगा लेकिन डिफ़ॉल्ट मान होगा। यदि संदर्भ प्रकार, तो इसे शून्य में शुरू किया जाएगा। – MedicineMan

उत्तर

1

हां। लाइन पर ब्रेकपॉइंट रखें, F8 दबाएं, प्रोग्राम को इस लाइन तक निष्पादित करने की प्रतीक्षा करें, और अगली पंक्ति में जाने के लिए F6 दबाएं, या वर्तमान पंक्ति में चरणबद्ध करने के लिए F5 दबाएं।

संपादित करें:

एक बार धागा डीबगर में रोक दिया गया है, तो आप भी कुछ runnable कोड, राइट-क्लिक चुन सकते हैं, और "प्रदर्शन" (Ctll-Shift-डी) या "निष्पादित" चुनें (Ctrl- यू)। आप किसी भी कथन को टाइप करने के लिए डिस्प्ले व्यू का भी उपयोग कर सकते हैं, इसे चुन सकते हैं, और इसे निष्पादित या प्रदर्शित कर सकते हैं।

+6

यह एक उपयोगी प्रतिक्रिया है क्योंकि यह ग्रहण आईडीई की कुछ रोचक विशेषताओं को दस्तावेज करता है। हालांकि, यह विजुअल स्टूडियो आईडीई के रूप में व्यवहार नहीं करता है। इस समय, इस प्रश्न का उत्तर "नहीं, यह सुविधा मौजूद नहीं है"। – MedicineMan

+0

मैं वास्तव में नहीं देखता कि यह विजुअल स्टूडियो से अलग कैसे है। क्या आप अधिक स्पष्ट हो सकते हैं? क्या आपने इसे ग्रहण में आजमाया है? आपने foo1 पर रोक दिए जाने पर 'foo1()' और 'वापसी सत्य' पर ब्रेकपॉइंट लगाया है, तो आप 'foo3()' का चयन करते हैं और Ctrl-U पर क्लिक करते हैं, आप F8 को सही होने तक जाने के लिए दबाते हैं, फिर आप 'foo1() चुनते हैं 'और Ctrl-U दबाएं। –

+1

हां मैंने वर्णन किया है जैसा आपने वर्णन किया है। ग्रहण निष्पादित करने के लिए चर के रूप में परिभाषित किए जाने पर ग्रहण उपयोगकर्ता के अनुकूल नहीं है।विचार करें: int startHere = 0; MyClass me = new MyClass(); foo (मुझे); foo2 (मुझे); यदि आप पहली पंक्ति को तोड़ते हैं, और तीसरी पंक्ति निष्पादित करते हैं, तो ग्रहण शिकायत करता है कि मुझे अपरिभाषित है। इसके अलावा, तीर लाइन तीन में स्थानांतरित नहीं हुआ है, यह अभी भी लाइन 1 को इंगित कर रहा है। हालांकि आपने लाइन 3 निष्पादित करने में कामयाब रहा है, लेकिन निष्पादन लाइन 3 पर नहीं पहुंचा है और यद्यपि आप लाइनों को हाइलाइट करना जारी रख सकते हैं और अनुसरण कर सकते हैं, अनुभव घबराहट है – MedicineMan

8

उस लाइन पर क्लिक करें जिसे आप चलाने के लिए चाहते हैं और Ctrl + R दबाएं और यह ब्रेक पॉइंट्स डालने के बजाय उस लाइन पर चलेगा। इसके अलावा आप अगली पंक्ति में चलाने के लिए अपने अगले ब्रेक पॉइंट या F6 पर चलाने के लिए F8 का उपयोग कर सकते हैं।

+2

+1, जिसे मैं नहीं जानता था। –

+0

क्षमा करें, मैंने अपना संपादन संपादित करने के बजाय आपका उत्तर संपादित किया। –

+0

Ctrl + r एक शानदार विशेषता है, आप कभी भी – Voo

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

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