दिलचस्प पोस्ट
बड़ी फ़ाइलों को हटाते हुए, एक गिट रेपो इतिहास के साथ एक विकास टीम को अपडेट करें क्लास.नईवंस्टेंस () "बुराई" क्यों है? आइकन के साथ संपादन करें, लेकिन पॉपअप संदेश के बिना संपादन सेटएअर () SQL सर्वर में छवियों को संग्रहीत करना? ASP.NET में HTTP रेफरर प्राप्त करना ओवरराइड करने वाले grails.views.default.codec = 'html' config वापस 'कोई नहीं' अजगर में कई तर्क प्रिंट करें मैं आईफोन वेब अनुप्रयोग में पोर्ट्रेट मोड को अभिविन्यास कैसे लॉक कर सकता हूं? कार्टेशियन अंतरिक्ष और एक विश्व फ़ाइल से उत्पन्न अक्षांश और देशांतर का उपयोग करके बहुभुज क्षेत्र गणना पीएचपी दो अलग-अलग स्ट्रिंग्स को समान मानता है मानदंड एपीआई का उपयोग करते हुए NHibernate से निर्धारित परिणाम प्राप्त करें? मैं क्रॉस-डोमेन कॉल्स के लिए एएसपी.नेट वेब सेवा से जेएसओएनपी का उत्पादन कैसे कर सकता हूं? मेमोरी लीक का निदान – # बाइट्स की स्वीकार्य स्मृति आकार समाप्त हो गया विम में स्वत: पूर्णता बाईं तरफ UITableViewCell के पुन: व्यवस्थित नियंत्रण कैसे करें?

किसी भी अपवाद के साथ .net में मौजूदा स्टैक ट्रेस कैसे मुद्रित करें?

मेरे पास एक नियमित सी # कोड है मेरे पास कोई अपवाद नहीं है । मैं डिबगिंग उद्देश्य के लिए वर्तमान स्टैक ट्रेस को प्रोग्रामेटिक रूप से लॉग इन करना चाहता हूं। उदाहरण:

public void executeMethod() { logStackTrace(); method(); } 

Solutions Collecting From Web of "किसी भी अपवाद के साथ .net में मौजूदा स्टैक ट्रेस कैसे मुद्रित करें?"

System.Diagnostics पर एक नज़र डालें। System.Diagnostics नामस्थान वहाँ बहुत सारे सामान!

 System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace(); 

हुड के नीचे चलने के बारे में सीखने के लिए यह वास्तव में अच्छा है

मैं सुझाता हूं कि आपके पास लॉगिंग समाधान (जैसे एनओलॉग, लॉज 4नेट या माइक्रोसॉफ्ट के पैटर्न और प्रथाओं एंटरप्राइज लाइब्रेरी) पर एक नजर है जो आपके उद्देश्यों को हासिल कर सकता है और फिर कुछ शुभकामनाएं मेट!

System.Diagnostics.StackTrace लिए एक विकल्प System.Environment.StackTrace का उपयोग करना है जो स्टैक्सट्र्रेस का स्ट्रिंग-प्रतिनिधित्व देता है।

दृश्य स्टूडियो में $CALLER और $CALLSTACK डीबगिंग चर का उपयोग करने के लिए एक अन्य उपयोगी विकल्प है क्योंकि यह एप्लिकेशन को पुनर्निर्माण के बिना रन-टाइम सक्षम किया जा सकता है।

इसे करने के दो तरीके हैं। System.Diagnostics.StackTrace() आपको वर्तमान थ्रेड के लिए एक स्टैक ट्रेस देगा। अगर आपके पास कोई Thread उदाहरण का कोई संदर्भ है, तो आप StackTrace() के अतिभारित संस्करण के माध्यम से इसके लिए स्टैक ट्रेस प्राप्त कर सकते हैं।

आप स्टैक ओवरफ्लो प्रश्न की जांच भी कर सकते हैं कैसे गैर-वर्तमान थ्रेड का स्टैकट्र्रेस प्राप्त करें?

आप कोड को संशोधित किए बिना भी दृश्य स्टूडियो डीबगर में ऐसा कर सकते हैं।

  1. एक ब्रेकपॉइंट बनाएं जहां आप स्टैक ट्रेस देखना चाहते हैं।
  2. ब्रेकपॉइंट को राइट-क्लिक करें और वीएस2015 में "एक्शन …" का चयन करें VS2010 में, "जब हिट …" का चयन करें, फिर "एक संदेश प्रिंट करें" सक्षम करें।
  3. सुनिश्चित करें कि "निष्पादन जारी रखें" चुना गया है
  4. कुछ पाठ में टाइप करें जिसे आप प्रिंट करना चाहते हैं।
  5. जहाँ भी आप स्टैक ट्रेस देखना चाहते हैं वहां $ कॉलस्टैट जोड़ें
  6. डीबगर में प्रोग्राम चलाएं

बेशक, यदि आप एक अलग मशीन पर कोड चला रहे हैं, तो यह मदद नहीं करता है, लेकिन रिहाई कोड को प्रभावित किए बिना या प्रोग्राम को पुनरारंभ करने के बावजूद एक स्टैक ट्रेस को स्वचालित रूप से बाहर निकालने में सक्षम होना काफी आसान हो सकता है।