2010-11-23 19 views
5

कल्पना कीजिए कि आप किसी फ़ंक्शन के भीतर फ़ंक्शन डिबग कर रहे हैं। आप स्तर 2 (Browser [2]) पर होंगे। क्या स्तर 2 छोड़ने और स्तर 1 पर जाने का कोई तरीका है? Q आपको किसी भी डिबगिंग से बाहर कर देगा, इसलिए मैं कुछ ऐसा ढूंढ रहा हूं जो वर्तमान स्तर को छोड़ देगा।एक मोड़ के साथ ब्राउज़र कॉल छोड़कर

+0

क्या आप हमें एक उदाहरण दे सकते हैं कि आपको ब्राउजर [2] प्रॉम्प्ट कैसे मिलता है? कार्यों के भीतर घोंसले कार्यों के मेरे सभी प्रयासों के लिए मैं एक ब्राउज़र प्राप्त कर सकता हूं [1] प्रॉम्प्ट ... मुझे यकीन है कि मैंने इसे देखा है ... – Spacedman

+0

मैं Rterm का उपयोग करता हूं। तुम क्या इस्तेमाल करते हो? –

उत्तर

2

यदि आप स्तर 2 फ़ंक्शन बॉडी में बदल सकते हैं, तो इसे एक त्रुटि फेंकने के लिए प्राप्त करें। फिर त्रुटि विकल्प को recover पर सेट करें। अब आप कृपया कार्यों के बीच स्थानांतरित कर सकते हैं।

foo <- function() bar() 
bar <- function() stop("start debug here") 

options(error = recover) 
foo() 
+0

एक और तरीका 'ब्राउज़र(); रोकें() 'जब तक कि आप पूरी तरह से सुनिश्चित नहीं हैं कि आप अपना फ़ंक्शन चलाने के लिए चाहते हैं। आप 'स्टॉप() 'को हटा दें और अपने रास्ते पर रहें। 'स्रोत()' परिवर्तनों को मत भूलना। –

2

c क्या आप देख रहे हैं? यह वर्तमान स्तर के निष्पादन को जारी रखेगा और आपको स्तर 1 पर लौटाएगा। संभवतः आप चाहते हैं कि स्तर 2 पर जो कुछ भी चल रहा था, वह पूरा करने के लिए एक स्थिर स्थिति में है?

+0

जो कुछ मैं चाहता हूं उसे करने का एक और तरीका है, लेकिन मान लीजिए कि मैं पहले से बाहर निकलना चाहता हूं (कल्पना करें कि दौड़ घंटों तक चलती है, जैसा कि मेरा मामला है)। –

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