2014-10-20 16 views
7

मुझे सच में हालांकि मुझे ऑनलाइन जवाब मिल जाएगा, लेकिन मैं नहीं कर सका। क्या कोई अंतर है? लोग कहते हैं कि एक अपवाद फेंकने पर कुछ 'बैकट्रैक' उत्पन्न होता है, जबकि स्टैक ट्रेस उस बिंदु से विधि कॉल की एक सूची होती है जब एप्लिकेशन उस बिंदु पर शुरू किया गया था जहां अपवाद फेंक दिया गया था। अगर हमें एक सरणी के रूप में एक स्टैक-ट्रेस माना जाता है, तो आखिरी तत्व वह तरीका होगा जहां अपवाद फेंक दिया गया था। क्या यह बैक-ट्रेस के लिए रिवर्स केस होगा? रूबी की तरह एक प्रोग्रामिंग भाषा, उदाहरण के लिए, यदि हमने:स्टैक-ट्रेस और बैक-ट्रेस के बीच क्या अंतर है?

begin 
    raise 1 
rescue 
    p $!.backtrace ; p caller(0) #=> displays the back-trace, then the stack-trace 
end 

वे होगा उत्पादन 2 अलग सरणियों, जो मेरे लिए पता चलता है कि वहाँ कुछ मौलिक उनके बारे में अलग है।

उत्तर

5

"बैकट्रैक", "स्टैक ट्रेस", "स्टैक बैकट्र्रेस", आदि एक ही चीज़ के लिए नाम हैं। "बैकट्रैक" विशेष रूप से एक ही नाम के लिनक्स टूल से आता है। एक स्टैक ट्रेस केवल अपवादों का उल्लेख नहीं करता है - प्रोग्राम के कॉल स्टैक की वर्तमान स्थिति को हमेशा स्टैक ट्रेस के रूप में प्रदर्शित किया जा सकता है (जो बैकट्रैक करता है, लेकिन कई डीबगर दृश्य और टूल भी करते हैं)। अपवाद या त्रुटियों के दौरान एक स्टैक ट्रेस आउटपुट करना बस सहायक होता है।

संपादित करें: ओह, मैंने सोचा कि मैं अभी भी 'सी' टैग में था - लेकिन प्रलेखन को देखते हुए, अपवाद। बैकट्रैक और कॉलर दोनों को एरे रखना चाहिए जहां कॉल स्टैक का शीर्ष सरणी में पहला है। इसमें अंतर होने लगता है कि वे कितने गहरे और कुछ स्वरूपण करते हैं।

+1

रूबी का निर्माण होने पर लिनक्स मुश्किल से अस्तित्व में था, मुझे संदेह है कि रुबी में कोई भी शब्द वहां से लिया गया है। रूबी 1 99 1 की गर्मियों में फरवरी 1 99 3 को लिनक्स बनाया गया था। एसएलएस, पहली बार लिनक्स वितरण केवल 5 महीने पुराना था और जब रूबी शुरू हुई, तो नरक के रूप में छोटी गाड़ी थी। –

+0

@ jörgWMittag मेरे हिस्से पर अटकलें और आप शायद सही हैं, हालांकि यह तब निर्भर करता है जब Exception.backtrace को पहली जगह में जोड़ा गया था। उस समय लोकप्रिय शब्द होने की संभावना है क्योंकि जीएनयू उपकरण उस शब्द का उपयोग करते हैं (उदाहरण के लिए जीडीबी, और बैकट्रैक टूल, जो पहले यूनिक्स पर मौजूद था)। जैसे मैंने कहा - यहां दुर्घटना से! मुझे आश्चर्य है कि रूबी वास्तव में पुरानी है। –

+1

24 फरवरी, 1 99 3 को प्रकाशित, 1 99 5 में प्रकाशित, क्रिसमस 1 99 6 पर 1.0। –

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