2010-01-23 16 views
8
में शुरू नहीं करता है

आवेदन मैं काम कर रहा हूँ दृश्य स्टूडियो 2005आवेदन डिबगर

यहाँ की डीबगर में शुरू नहीं करता है कि मुझे क्या करना है:

  • मैं आवेदन के पुनर्निर्माण और शुरू करने के लिए F5 मारा यह
  • VS2005 खिड़की के शीर्षक कहते हैं, "ProjectName (चल रहा है) ..."
  • डिबगर बटन दिखाई देते हैं लेकिन
  • आवेदन विंडोज कार्य प्रबंधक में प्रकट होता है के धूसर हो, लेकिन मैं टी मेमोरी उपयोग में केवल 80k है
  • कुछ देर तक कुछ भी नहीं होता है, और अंत में मुझे निम्न त्रुटि संदेश वाली विंडो मिलती है: "डिबगिंग रोक दी जा रही है लेकिन अभी तक पूर्ण नहीं है। आप तुरंत रोकने के लिए डिबगिंग को मजबूर कर सकते हैं, लेकिन किसी भी प्रक्रिया को अलग करने के बजाय इसे समाप्त कर दिया जा सकता है। जब यह डिबगिंग पूरी तरह से बंद हो जाती है तो यह विंडो स्वचालित रूप से बंद हो जाएगी "। विंडो गायब नहीं होती है, इसलिए थोड़ी देर बाद मैं" अभी रोकें "बटन दबाता हूं।
  • कुछ समय के लिए कुछ भी नहीं होता है (डीबगर बटन अभी भी दिखाई देता है, लेकिन ग्रेड)
  • कुछ समय बाद एक नई विंडो दिखाई देती है: "प्रोग्राम शुरू करने में असमर्थ" (exe के पथ) '। OLE har skickat en begäran och väntar på svar "। अंतिम वाक्य स्वीडिश है" ओएलई ने एक अनुरोध भेजा है और प्रतिक्रिया की प्रतीक्षा कर रहा है "। मैं ठीक दबाता हूं और डीबगर बटन चला जाता है।
  • एप्लिकेशन अभी भी चल रहा है, और अभी भी मैं दृश्य स्टूडियो छोड़ दिया और अंत में प्रक्रिया चला गया है स्मृति के उपयोग में केवल 80k है।
  • मैं कार्य प्रबंधक के साथ प्रक्रिया समाप्त करने के लिए प्रयास करते हैं, लेकिन यह नहीं मारा है।

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

ऐसा करने के दौरान यह समस्या अचानक दिखाई दी। मैंने अपने परिवर्तनों को दूर करने की कोशिश की है, लेकिन यह मदद नहीं करता है। कंप्यूटर को पुनरारंभ करना या तो मदद नहीं करता है।

मुझे एप्लिकेशन को यादृच्छिक रूप से एक या दो बार चल रहा है। अगर मैंने आवेदन समाप्त कर दिया और इसे फिर से शुरू किया तो यह शुरू नहीं हुआ था। तो मुझे नहीं लगता कि यह मेरी विन्यास के कारण है।

कोई विचार?

एक और नोट: एप्लिकेशन शुरू होता है और चलता है क्योंकि इसे इसे विजुअल स्टूडियो के बाहर से शुरू करना चाहिए।

उत्तर

1

ठीक है, मैंने अपनी समस्या हल कर ली है, लेकिन मुझे नहीं पता कि कैसे।

एक चीज जिसकी मैंने कोशिश की थी सभी बिल्ड फाइलों और exe और dll फ़ाइलों को हटा रहा था, और फिर सबकुछ फिर से संकलित कर रहा था। लेकिन इससे मदद नहीं मिली।

मैंने फिर यादृच्छिक रूप से एक चीज़ की कोशिश की: प्लगइन्स एक ही समाधान में थे। तो मैंने उन्हें हटा दिया और फिर से चलाने की कोशिश की।और इस बार यह काम किया! तो मैंने सभी प्लगइन-परियोजनाओं को वापस जोड़ा, और यह अभी भी काम करता है!

तो, मुझे लगता है कि मैं कभी नहीं जानता कि क्या हुआ। लेकिन एक समाधान में एक परियोजना को हटाने और जोड़ने से किसी को भी एल्स समस्या हल हो सकती है ... :)

+0

कुछ रनों के बाद मुझे समस्या आई थी। लेकिन समाधान से यादृच्छिक रूप से किसी भी परियोजना को हटाने से यह फिर से काम करता है! – Jonatan

+0

और भी जानकारी: इस समस्या से पहले मुझे कुछ डीएलएल-प्लगइन्स के साथ समस्याएं थीं जो malloc() के साथ स्मृति आवंटित करती थीं, जिसे किसी अन्य डीएलएल से मुक्त() से मुक्त किया गया था। इसके परिणामस्वरूप एक जोरदार त्रुटि हुई, भले ही वे सभी एक ही रनटाइम का उपयोग करें। मैं malloc() को कॉल करने वाले फ़ंक्शन पर कॉलबैक की आपूर्ति करके इस त्रुटि के आसपास काम कर रहा हूं। मैंने अभी तक प्रत्येक प्लगइन को ठीक नहीं किया है, और ऐसा लगता है कि जैसे ही मैंने उस त्रुटि को मारा, यह समस्या प्रकट होती है। और तब तक प्रोग्राम शुरू करना असंभव है, जब तक मैं एक प्रोजेक्ट को हटा नहीं देता तब तक VS2005 को पुनरारंभ करने के बाद भी ... – Jonatan

+0

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

2

आपके प्रोग्राम द्वारा उपयोग किए जाने वाले पूर्ण रूप से जुड़े डीएलएल में से एक में दुर्व्यवहार DllMain() की तरह लगता है। आपको आउटपुट विंडो से एक संकेत मिल सकता है, यह डीएलएल के नामों को सूचीबद्ध होने के रूप में सूचीबद्ध करता है। यदि यह wininet.dll है तो आप प्रतीक सर्वर के साथ एक डेडलॉक जाल में गिर गए हैं।

+0

दिलचस्प है, लेकिन अब मैंने सभी प्लगइन्स (सभी डीएलएल) को हटाने की कोशिश की है, और आउटपुट विंडो खाली है। – Jonatan

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