2008-09-19 43 views

उत्तर

21

निम्नलिखित रखो जहां इसकी जरूरत:

System.Diagnostics.Debugger.Break(); 
3

आप एक विशिष्ट स्थान में तोड़ने के लिए System.Diagnostics.Debugger.Break() उपयोग कर सकते हैं .. यह एक सेवा डिबगिंग तरह की परिस्थितियों में मदद कर सकते हैं।

39

मैं भी अगर डिबगर जुड़ा हुआ है देखने के लिए जाँच करना चाहते हैं - यदि आप Debugger.Break फोन जब कोई डिबगर है, यह उपयोगकर्ता संकेत देगा यदि वे एक अनुलग्न करना चाहते हैं। व्यवहार आप चाहते हैं के आधार पर आप Debugger.Break() कॉल करने के लिए केवल तभी (या नहीं तो) एक पहले से ही जुड़ा हुआ है

using System.Diagnostics; 

//.... in the method: 

if(Debugger.IsAttached) //or if(!Debugger.IsAttached) 
{ 
    Debugger.Break(); 
} 
+0

से यह स्वीकार कर लिया जवाब होना चाहिए ... – MemphiZ

2

@Philip RIECK और @ जॉन से जवाब आसानी से अलग हैं कर सकते हैं।

जॉन ...

#if DEBUG 
    System.Diagnostics.Debugger.Break(); 
#endif 

केवल यदि आप डीबग सशर्त संकलन प्रतीक सेट के साथ संकलित काम करता है।

फिलिप का जवाब ...

if(Debugger.IsAttached) //or if(!Debugger.IsAttached) 
{ 
    Debugger.Break(); 
} 

किसी भी डिबगर के लिए काम तो आप किसी भी हैकर्स एक भय का एक सा भी दे देंगे होगा।

SecurityException पर भी ध्यान दें, यह फेंक सकता है ताकि उस कोड को जंगली में न जाने दें।

एक अन्य कारण नहीं करने के लिए ...

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

https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx

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