2012-09-29 19 views
5

काम नहीं कर रहा है मैं वर्तमान में एक प्रक्रिया के लिए एक डीबगर लॉन्च करने की कोशिश कर रहा हूं जो बाहरी रूप से लॉन्च किया गया है (दृश्य स्टूडियो के भीतर से नहीं)। मुझे वास्तव में एक डीबगर लॉन्च नहीं लग रहा है, क्योंकि ऐसा लगता है कि कुछ भी नहीं होता है। इस प्रक्रिया में, मैंने यह कोड जोड़ा:डीबगर।

Debug.Assert(Debugger.IsAttached == false, "Should be no debugger"); 
if (!Debugger.IsAttached) 
{ 
    Debug.Assert(Debugger.Launch(), "Debugger not launched"); 
} 
Debugger.Break(); 
Debug.Assert(Debugger.IsAttached == true, "Debugger should be attached"); 

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

ब्रेक-पॉइंट कभी हिट नहीं होता है, और दूसरी सत्यापन विफल हो जाती है (IsAttached संपत्ति झूठी रिटर्न)। मैंने डीबगर के बाद नींद डालने का भी प्रयास किया। लॉन्च करने के लिए कुछ समय देने के लिए, इसका कोई फायदा नहीं हुआ।

कोई सुझाव?

+0

मैंने आपका शीर्षक संपादित किया है। कृपया देखें, "[प्रश्नों में उनके शीर्षक में" टैग "शामिल होना चाहिए?] (Http://meta.stackexchange.com/questions/19190/)", जहां आम सहमति है "नहीं, उन्हें नहीं करना चाहिए"। –

+0

आपके vsjitdebugger सेटअप के साथ कुछ गड़बड़ है। इसे आज़माएं: http://social.msdn.microsoft.com/forums/en-US/vsdebug/thread/9a539c40-1869-44b8-9aed-9f9d7d402d7c/ अगर इससे मदद नहीं मिलती है तो ProcMon का उपयोग करें और एक अच्छी मशीन की तुलना करें बुरा एक –

+0

टैग के बारे में जानना अच्छा है। मैं लेख हंस को आज़माउंगा और देख सकता हूं कि मुझे क्या मिल सकता है। – Trevor

उत्तर

0

जवाब: दृश्य स्टूडियो 2010 एक्सप्रेस

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

3

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

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

मैं सिर्फ another article लिंक करूंगा जो मुझे सही दिशा में डालता है, शायद यह भी उपयोगी है।

सारांश: दृश्य स्टूडियो बस-इन-टाइम डीबगर रजिस्ट्री 0x28 से 0x8 की कुंजी के AppIDFlags मान बदलें (या 0x20 लेख से ऊपर, परीक्षण और त्रुटि मुझे लगता है कि के अनुसार) वे रजिस्ट्री कुंजी HKEY_CLASSES_ROOT \ AppID है \ {E62A7A31-6025-408E-87F6-81AEB0DC9347}

7

मुझे विजुअल स्टूडियो 2013 प्रीमियम में एक ही समस्या है। एरिक उत्तर ने मुझे इसे हल करने के तरीके पर रखा। लेकिन आपको रजिस्टर बदलने की जरूरत नहीं है।

  1. उपकरण पर जाएं -> विकल्प -> डिबगिंग
  2. आइटम खोलें और चुनें बस समय डिबगर
  3. आप विंडो एक पीले रंग की कि अन्य डिबग के बारे में चेतावनी के निम्न भाग में दिखाई देता है तो में दृश्य स्टूडियो के लिए अलग इस्तेमाल किया जा रहा है। यदि आप इसे देखते हैं, तो डीबग प्रोग्राम होने के लिए VS पर वापस लौटने के लिए सभी जस्ट इन टाइम चेकबॉक्स देखें।

यह सब कुछ है!

Options Just in Time debugger

+0

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

3

शायद यह इच्छा भविष्य में किसी को मदद मिलती है। मेरे पास एक ही समस्या थी, कि डीबगर। लॉन्च कुछ भी नहीं दिख रहा था। यह पता चला है कि किसी और को मेरी मशीन में लॉग किया गया था और डीबगर संलग्न है जो मेरे पर्यावरण में लॉन्च किया गया है, मेरा नहीं। मैंने उन्हें सिस्टम से बाहर निकाल दिया और इसे ठीक कर दिया।