2011-12-12 17 views
8

डीबग करते समय लूप से कैसे निकलना है, मैं आर पैकेज में एक त्रुटि के कारण को खोजने का प्रयास करने के लिए traceback() और option(error=recover) और debug(function) का उपयोग कर आर में नया डिबगिंग हूं।आर कोड

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

समेकित करने के लिए, डिबगिंग के दौरान लूप से कैसे बाहर निकलना है, और जब आप पहले से डिबगिंग कर रहे हैं तो डीबग के लिए फ़ंक्शन में कैसे कदम उठाना है?

शायद यह पहले से ही उत्तर दिया गया है और मैंने इसे याद किया है। मैंने कई एसओ आर डीबग सवाल देखा है लेकिन कोई भी इस भाग का जवाब नहीं दे रहा है जिसे मैं जानता हूं।

उत्तर

9

मुझे यकीन है कि आर की सहायता प्रणाली काम करती है भले ही आप जीयूआई का उपयोग नहीं कर रहे हों। ?debug टाइप करने का प्रयास करें और देखें कि क्या होता है। उदहारण के लिए: आपको सूचित करना है कि c या cont टाइपिंग

वर्तमान संदर्भ के अंत तक जारी रहेगा चाहिए लूप के अंत में या फंक्शन के अंत तक लूप के अंत तक।

+1

'ब्राउज़र() 'आपको यह देखने में मददगार भी हो सकता है कि लूप के भीतर किसी भी बिंदु पर आपके चर के मूल्य क्या हैं,' ब्राउज़र 'देखें। – Gregor

+3

मुझे अभी एहसास हुआ है कि 'सी' वर्तमान संदर्भ के अंत तक जाता है जब मैंने स्क्रिप्ट के अंत में जाने के लिए 'सी' दबाया और केवल लूप के अंत तक चला गया। मैं एक पाठ्यक्रम से बाहर था "सी या cont (बिना एकल कदम के निष्पादन जारी रखें।)" और यह मुझे भ्रामक था। धन्यवाद –