2008-12-19 8 views
33

मैं सिर्फ इस त्रुटि संदेश मिला:पूर्ण स्टैक ट्रेस दिखाने के लिए रूबी को कैसे मजबूर करें?

... 
from c:/ruby/lib/ruby/gems/1.8/gems/... 
... 10 levels... 
from c:/ruby/lib/ruby/gems/1.8/gems/... 
... 

और (बेशक) बग ... 10 levels... में कहीं छिपा हुआ है।

पूर्ण स्टैक ट्रेस दिखाने के लिए रूबी को कैसे मजबूर करें?

+1

http://stackoverflow.com/questions/376513/how-do-i-get-ruby-to-print-a-full-stack-dump-instead-of-a-truncated- की शिकार कल बस एक। –

+1

मैंने प्रश्न पोस्ट करने से पहले साइट की खोज की, लेकिन इसे नहीं मिला। माफ़ कीजिये। –

+0

कोई समस्या नहीं, सवाल खराब टैग किया गया था और बहुत अच्छी तरह से शीर्षक नहीं था, मैंने दोनों को तय किया, नया लिंक http://stackoverflow.com/questions/376513/how-do-i-get-ruby-to-print-a -पूर्ण-पश्व-अनुरेखन-बजाय के- एक-छोटा कर दिया-एक। –

उत्तर

68
begin 
    # code that raises exception 
rescue StandardError => e 
    puts e.backtrace 
end 
+7

अपवाद को पकड़ने के बिना आप स्टैकट्रैक कैसे दिखाते हैं? बस सामान्य ऑपरेशन में, वह है। –

+9

@ChiragPatel, शायद आप [कर्नेल # कॉलर] (http://www.ruby-doc.org/core-1.8.7/Kernel.html#method-i-caller) का उपयोग करना चाहते हैं। –

+2

कर्नेल # कॉलर, जैसा कि सोनी सैंटोस ने उल्लेख किया है, आप जो चाहते हैं उसके लिए जाने का बिल्कुल सही तरीका है। यह तारों की एक सरणी वापस कर देगा। आप अपने लॉग में एक साफ स्टैक ट्रेस प्राप्त करने के लिए आसानी से कुछ ऐसा कर सकते हैं: Rails.logger.info caller.join ("\ n") – slant

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