मुझे पहली बार मौका अपवादों को तोड़ने से रोकने के लिए मेरा डीबगर नहीं मिल सकता है

मैं टीसीपी/आईपी के माध्यम से दूरस्थ रूप से प्रोग्राम को डीबग करने के लिए विजुअल सी ++ 2003 का उपयोग कर रहा हूं।

मैंने Win32 अपवाद c00000005, "उल्लंघन उल्लंघन" सेट किया था, जब फेंक दिया गया था तो डीबगर में तोड़ने के लिए। फिर, मैंने इसे "पैरेंट सेटिंग का उपयोग करें" पर वापस सेट किया। माता-पिता के लिए सेटिंग, Win32 अपवाद, अपवाद फेंकने पर जारी रखना है।

अब, जब मैं प्रोग्राम को डीबग करता हूं, तो अपवाद फेंकने पर हर बार टूट जाता है, जिससे मुझे डिबगिंग रखने के लिए जारी रखने के लिए मजबूर होना पड़ता है। इस तरह तोड़ने से रोकने के लिए मैं इसे कैसे प्राप्त करूं?

0
ro fr bn

3 उत्तर

I'd like to support Will Dean's answer

एक एक्सेस उल्लंघन आपके कोड में वास्तविक बग की तरह लगता है। ऐसा कुछ नहीं है जो मैं अंतर्निहित सी/++ रनटाइम को फेंकने और आंतरिक रूप से पकड़ने की अपेक्षा करता हूं।

'पहली मौका-अपवाद' सुविधा है ताकि आप उन चीज़ों को रोक सकें जो कोड में 'पकड़े गए' को डीबगर का उपयोग करके प्राप्त करते हैं, और एक नज़र डालें। अगर उस अपवाद को पकड़ने में कुछ भी नहीं है (जो समझ में आता है, तो आप धरती पर क्यों पहुंचेंगे और पहुंच उल्लंघन को अनदेखा करेंगे?), तो यह आपके द्वारा निर्धारित विकल्पों के बावजूद डीबगर को ट्रिगर करेगा।

0
जोड़ा
यह बहुत बुरा लगता है। तृतीय पक्ष प्रक्रियाओं (जैसे स्काइप) को जोड़ते समय कभी-कभी उनके पास थ्रेड होते हैं जो जाहिर तौर पर बेजोड़ अपवादों के साथ मर जाते हैं, और आप नहीं उन्हें पकड़ नहीं सकते हैं। कष्टप्रद!
जोड़ा लेखक rogerdpack, स्रोत

Ctrl+Alt+E (or Debug\Exceptions)

वहां से आप चुन सकते हैं कि कौन से अपवाद टूट जाते हैं।

0
जोड़ा

क्या यह एक अपवाद है कि यदि आप डीबगर में नहीं चल रहे थे तो आपका कोड वास्तव में संभाल लेगा?

0
जोड़ा