COM ऑब्जेक्ट अपवादों का पता कैसे लगाएं?

मेरे पास कुछ COM ऑब्जेक्ट्स के साथ DLL है। कभी-कभी, यह ऑब्जेक्ट क्रैश और Windows इवेंट लॉग में एक त्रुटि ईवेंट पंजीकृत करता है जिसमें हेक्साडेसिमल सूचनाएं होती हैं। मुझे कोई संकेत नहीं है कि यह दुर्घटना क्यों होती है।

तो, मैं उन COM ऑब्जेक्ट अपवादों का पता कैसे लगा सकता हूं?

0
ro fr bn

4 उत्तर

पहला कदम विफल कोड के हेक्स मान (ईजी ई_फेल 0x80004005) को देखना है। त्रुटि कोड का अर्थ समझने के लिए Google में उस मूल्य को पोस्ट करने के साथ मुझे वास्तव में शुभकामनाएं मिली हैं।

फिर, मैं असफल होने वाले कोड में स्थान को अलग करने की कोशिश करने के लिए परीक्षण और त्रुटि का उपयोग करता हूं, और विफलता का मूल कारण।

0
जोड़ा

यदि आप त्रुटि कोड का अर्थ जानने के लिए वास्तव में एक त्वरित तरीका चाहते हैं, तो आप विजुअल स्टूडियो के साथ पैक किए गए "त्रुटि लुकअप" टूल का उपयोग कर सकते हैं (विवरण यहां )। हेक्स मान दर्ज करें, और यह आपको त्रुटि कोड का वर्णन करने वाली स्ट्रिंग देगा।

बेशक, एक बार जब आप उसे जानते हैं, तो आपको अभी भी यह पता लगाना होगा कि यह क्यों हो रहा है।

0
जोड़ा

त्रुटि (hresult) कोड देखने का एक अच्छा तरीका HResult Plus या welt.exe (Windows त्रुटि लुकअप टूल) है।

मैं क्या देख रहा हूं यह देखने के लिए COM-Classs में आंतरिक रूप से लॉगिंग का उपयोग करता हूं। साथ ही, एक बार COM-class निष्पादन योग्य द्वारा लोड हो जाने पर, आप इसे VS डीबगर संलग्न कर सकते हैं और ब्रेकपॉइंट्स, घड़ियों और उन सभी मजेदार सामग्री के साथ COM कोड डीबग कर सकते हैं।

0
जोड़ा

COM वस्तुओं अपवाद फेंक नहीं है। वे HRESULT वापस लौटते हैं, जिनमें से अधिकांश विफलता का संकेत देते हैं। तो यदि आप अपवाद स्टैक ट्रेस के बराबर की तलाश में हैं, तो आप भाग्य से बाहर हैं। आपको हाथ से कोड के माध्यम से चलना होगा और पता चल जाएगा कि क्या हो रहा है।

0
जोड़ा