2008-11-20 7 views
5

डीबगिंग करते समय कोड के एक विशिष्ट क्षेत्र में दावे को अनदेखा करने के लिए विजुअल स्टूडियो 2005 सेट कर सकता हूं। यहां परिदृश्य है। मैं अपना ऐप डीबग कर रहा हूं (सी/सी ++) जो कि कंपनी में किसी अन्य टीम द्वारा विकसित कुछ लाइब्रेरी का उपयोग कर रहा है। जब मेरा कोड कुछ एज केस उत्पन्न करता है तो एक दावा विफल हो जाता है। इसका दर्द है क्योंकि दावा सही ढंग से तैयार नहीं किया गया है, इसलिए लाइब्रेरी फ़ंक्शन ठीक काम कर रहा है, लेकिन मुझे इन सभी बाधाओं को प्राप्त होता है जहां मुझे अभी जारी रखना होगा (लूप में इसके रूप में बहुत कुछ) ताकि मैं उन चीज़ों को प्राप्त कर सकूं जिनकी मुझे वास्तव में रूचि है मुझे अन्य कारणों से डिबगिंग करते समय पुस्तकालय के डीबग संस्करण का उपयोग करना होगा। दूसरी टीम अगली रिलीज तक इसे ठीक नहीं करेगी (हे, यह हमारी मशीन पर काम करती है)।क्या मैं

क्या मैं कोड के इस खंड द्वारा लगाए गए ब्रेकपॉइंट्स को अनदेखा करने के लिए डीबगर को बता सकता हूं (यानी यह मेरे लिए स्वतः जारी रख सकता है)।

उत्तर

3

कोड अपने आप ही breakpoints ट्रिगर कर रहा है, तो (__debugbreak द्वारा या 3 int), आप सशर्त breakpoints उपयोग नहीं कर सकते, के रूप में breakpoints बिल्कुल दृश्य स्टूडियो के लिए पता नहीं कर रहे हैं। हालांकि, आप ऐसे किसी भी ब्रेकपॉइंट को अक्षम करने में सक्षम हो सकते हैं, जिसमें आप डीबगर से कोड संशोधित करके रुचि नहीं रखते हैं। शायद आप जो चाहते हैं उसे नहीं, क्योंकि आपको प्रत्येक डीबगिंग सत्र में इसे दोहराने की आवश्यकता है, हालांकि अभी भी कुछ भी बेहतर नहीं हो सकता है। अधिक जानकारी के लिए How to disable a programmatical breakpoint/assert? पढ़ें।

+0

हाँ, यह एक आईएनटी 3 उत्पन्न करता है, मैं देखता हूं कि मैं उस बिंदु पर एक एनओपी में पॉप कर सकता हूं ताकि इसे मुझे बाधित करना बंद हो सके ... –

0

आप सशर्त ब्रेकपॉइंट्स का उपयोग कर सकते हैं। कुछ लिंक:

http://support.microsoft.com/kb/308469
http://dotnettipoftheday.org/tips/conditional_breakpoint.aspx

+1

इसकी नहीं एक ब्रेकपाइंट, अपने एक असफल दावा:

उदाहरण 2 नीचे दिए गए लिंक में आप क्या करना चाहते हो रहा है। डीबगर बस स्टॉप करता है और वास्तव में तोड़ने या जारी रखने के विकल्पों के साथ एक संवाद पॉप अप करता है। –

2

डीबग लाइब्रेरी में एएसएसईआरटी() विफलताओं को स्वचालित रूप से अनदेखा करने का कोई अच्छा तरीका नहीं है। यदि आपको वह उपयोग करना है, तो आपको केवल दूसरी टीम को मनाने की आवश्यकता है कि इसे अब तय करने की ज़रूरत है, या यदि आपके पास इस लाइब्रेरी का स्रोत है, तो आप अपना काम पाने के लिए खुद को दावे को ठीक या निकाल सकते हैं इस बीच किया।

2

आप लाइब्रेरी में कॉल के आस-पास एक अपवाद हैंडलर जोड़ सकते हैं, EXCEPTION_BREAKPOINT अपवाद को पकड़ें और कुछ भी नहीं करें।

http://msdn.microsoft.com/en-us/library/ms681409(VS.85).aspx

+0

धन्यवाद, मैं इसे आज़मा दूंगा ....... .. –

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