2011-01-28 16 views
7

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

उत्तर

11

मुझे बेवकूफ, समाधान सरल था। जब विंडो पॉप आउट हो जाती है, तो डीबगर में रोकें दबाएं :)

+2

मुझे आश्चर्य है कि यह स्वचालित रूप से ऐसा करने का कोई तरीका है या नहीं। – Superbest

+1

@Superbest - वहाँ है। मेरा जवाब देखें –

+0

विजुअल स्टूडियो का उपयोग करके यूनिट टेस्ट को डीबग करते समय, डीबग। एस्सर्ट विफलता खिड़की नहीं खुलती है, ऐसा लगता है कि टेस्ट फ्रेमवर्क ने इस सुविधा को हटा दिया है। (मैं वीएस 2013 प्रो का उपयोग कर रहा हूं।) – yoyo

1

ऐसा लगता है जब आप अन्य विवरण देखने में असफल रहते हैं तो आप डीबगर को संलग्न कर सकते हैं - यह आलेख देखें: http://blogs.msdn.com/b/davidklinems/archive/2005/08/29/457847.aspx। इसकी काफी तारीख है लेकिन शायद अभी भी लागू है।

4

विनय का समाधान करने के लिए इसके अलावा, आप

Debugger.Break

बुला आपके मामले में आप इसे हर बार श्रोता एक विफलता संदेश प्राप्त कर सकता है, उसे किसी खास प्रक्रिया के लिए डिबगर शुरू कर सकते हैं।

8

वीएस 2008 के बारे में निश्चित नहीं है, लेकिन कम से कम 2010 और बाद में, आप डीबग/अपवाद (Ctrl-Alt-E) पर जा सकते हैं। , "जोड़ें" बटन क्लिक करें "साझा भाषा क्रम अपवाद" चुनते हैं, और प्रकार:

Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException 

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

+0

अच्छी टिप, लेकिन अगर मैं सिस्टम पर तोड़ना चाहता हूं। डायग्नोस्टिक्स.डिबग.एस्र्ट एक यूनिट टेस्ट डीबग करते समय? – yoyo

+0

एक समाधान मिला - एक कस्टम सिस्टम जोड़ने के लिए [testInitialize] का उपयोग करें। डायग्नोस्टिक्स। ट्रेसलिस्टर जो एक Debug.Assert विफलता की स्थिति में UnitTesting.AssertFailedException फेंकता है। – yoyo