2012-06-25 10 views
8

में एक अपवाद पर रोकने से डीबगर को रोकें मेरे प्रोग्राम में, मैं गतिशील लैम्ब्डा अभिव्यक्तियां बनाता हूं और फिर उन्हें प्रतिनिधियों को संकलित करता हूं। इन प्रतिनिधियों को तब मेरी संस्थाओं से जानकारी निकालने के लिए बुलाया जाता है। कुछ प्रतिनिधि अपवाद फेंक सकते हैं, मैंने अपवाद पकड़ा है जहां मैं प्रतिनिधि को बुलाता हूं। मैंने "केवल अपना कोड सक्षम करें" सक्षम किया है और लागू किया है [DebuggerNonUserCode] विशेषता जहां LambdaExpression बनाया गया है, जहां संकलित किया गया है, और कहां कॉल किया गया है। लेकिन क्योंकि डीबग में> अपवाद> सामान्य भाषा रनटाइम अपवाद, थ्रो चेक बॉक्स चेक किया गया है, दृश्य स्टूडियो हमेशा त्रुटि पर रुक जाता है, जो डेवलपर्स के लिए एक बड़ी असुविधा है।एक संकलित LambdaExpression

ऐसा लगता है कि [डीबगर नॉनयूसर कोड] किसी भी तरह संकलित प्रतिनिधि को लागू किया जाना चाहिए, लेकिन कैसे? या कोई अन्य सुझाव?

धन्यवाद।

+2

क्या यह पहले बदलाव अपवाद पर रोक नहीं रहा है? उन्हें अलग से अक्षम किया जा सकता है। – CodingBarfield

+0

नहीं, यह हमेशा पहली बार त्रुटि पर रोकता है। – Alireza

+1

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

उत्तर

1

जहां तक ​​मुझे पता है, आप अभिव्यक्तियों का उपयोग करके उत्पन्न अज्ञात तरीकों के गुणों को लागू नहीं कर सकते हैं, संभवतः गतिशील प्रकार की पीढ़ी के साथ कुछ भयानक गड़बड़ से अलग नहीं हो सकते हैं।

हालांकि, Debug > Exceptions में अपवाद मेनू पर एक संभावित सुझाव होगा और विशेष रूप से आप कौन से अपवादों को तोड़ना चाहते हैं चुनें। यदि आपके भाव विशिष्ट प्रकार के अपवाद फेंकते हैं, तो आप उन अपवादों को तोड़ने को अक्षम कर सकते हैं।

+1

अच्छा ... मैं उन भयानक कदम उठाने के लिए तैयार हो सकता हूं। सही संसाधन के लिए कोई संकेतक? धन्यवाद – Alireza

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