खोज…


ब्राउज़र का उपयोग करना

browser फ़ंक्शन का उपयोग ब्रेकपॉइंट की तरह किया जा सकता है: कोड निष्पादन उस बिंदु पर रुक जाएगा। फिर उपयोगकर्ता फिर चर मानों का निरीक्षण कर सकते हैं, मनमाने ढंग से आर कोड को निष्पादित कर सकते हैं और लाइन द्वारा कोड लाइन के माध्यम से कदम उठा सकते हैं।

कोड में एक बार browser() हिट हो जाने के बाद इंटरएक्टिव इंटरप्रेटर शुरू हो जाएगा। कोई भी R कोड सामान्य रूप से चलाया जा सकता है, और इसके अलावा निम्नलिखित कमांड मौजूद हैं,

आदेश अर्थ
सी ब्राउज़र से बाहर निकलें और प्रोग्राम जारी रखें
वर्तमान लूप या फ़ंक्शन समाप्त करें
n ओवर स्टेप (मूल्यांकन अगले बयान पर, फंक्शन कॉल पर कदम)
रों चरण में (अगले बयान का मूल्यांकन, फ़ंक्शन कॉल में कदम)
कहाँ पे स्टैक ट्रेस प्रिंट करें
आर "पुनरारंभ" पुनः आरंभ करें
क्यू ब्राउज़र से बाहर निकलें और छोड़ें

उदाहरण के लिए हमारे पास एक स्क्रिप्ट हो सकती है जैसे,

toDebug <- function() {
    a = 1
    b = 2
    
    browser()
    
    for(i in 1:100) {
        a = a * b
    }
}

toDebug()

उपरोक्त लिपि को चलाते समय हमें शुरू में कुछ ऐसा दिखाई देता है,

Called from: toDebug
Browser[1]>

हम तब प्रॉम्प्ट के साथ बातचीत कर सकते हैं,

Called from: toDebug
Browser[1]> a
[1] 1
Browser[1]> b
[1] 2
Browse[1]> n
debug at #7: for (i in 1:100) {
    a = a * b
}
Browse[2]> n
debug at #8: a = a * b
Browse[2]> a
[1] 1
Browse[2]> n
debug at #8: a = a * b
Browse[2]> a
[1] 2
Browse[2]> Q

browser() को एक कार्यात्मक श्रृंखला के भाग के रूप में भी इस्तेमाल किया जा सकता है, जैसे:

mtcars %>% group_by(cyl) %>% {browser()}

डीबग का उपयोग करना

आप के साथ डीबगिंग के लिए किसी भी समारोह सेट कर सकते हैं debug

debug(mean)
mean(1:3)

फ़ंक्शन के बाद के सभी कॉल डिबगिंग मोड में प्रवेश करेंगे। आप के साथ इस व्यवहार को निष्क्रिय कर सकते undebug

undebug(mean)
mean(1:3)

यदि आप जानते हैं कि आप केवल एक बार डिबगिंग मोड में प्रवेश करना चाहते हैं, तो debugonce के उपयोग पर विचार करें।

debugonce(mean)
mean(1:3)
mean(1:3)


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow