मुझे यहां एक "श्रोएडिंगर की बिल्ली" प्रकार की समस्या मिली है - मेरा कार्यक्रम (वास्तव में मेरे कार्यक्रम के लिए परीक्षण सूट, लेकिन फिर भी एक कार्यक्रम) दुर्घटनाग्रस्त हो रहा है, लेकिन केवल रिलीज मोड में बनाया गया है, और केवल जब कमांड लाइन से लॉन्च किया गया है । गुफाओं की डिबगिंग (यानी, सभी जगह पर गंदा प्रिंटफ) संदेशों के माध्यम से, मैंने परीक्षण विधि का निर्धारण किया है जहां कोड दुर्घटनाग्रस्त हो रहा है, हालांकि दुर्भाग्य से वास्तविक दुर्घटना कुछ विनाशकारी होती है, क्योंकि मैं अंतिम ट्रेस संदेशों को देखता हूं। अन्य विध्वंसक जो सफाई से निष्पादित होते हैं।
जब मैं Visual Studio के अंदर इस प्रोग्राम को चलाने का प्रयास करता हूं, तो यह क्रैश नहीं होता है। WinDbg.exe से लॉन्च करते समय समान जाता है। क्रैश केवल कमांड लाइन से लॉन्च करते समय होता है। यह Windows Vista, btw के तहत हो रहा है, और दुर्भाग्य से मेरे पास अभी परीक्षण करने के लिए XP मशीन तक पहुंच नहीं है।
यह वास्तव में अच्छा होगा यदि मैं विंडोज को स्टैक ट्रेस का प्रिंट आउट प्राप्त कर सकता हूं, या केवल प्रोग्राम को समाप्त करने के अलावा कुछ और ऐसा कर सकता हूं जैसे कि यह सफाई से बाहर निकल गया हो। क्या किसी के पास कोई सलाह है कि मैं कैसे यहां कुछ और सार्थक जानकारी प्राप्त कर सकता हूं और इस बग को ठीक कर सकता हूं?
संपादित करें: समस्या वास्तव में एक आउट-ऑफ-बाउंड्स सरणी के कारण हुई, जिसका मैं इस पोस्ट में अधिक वर्णन करता हूं । इस समस्या को खोजने में आपकी मदद के लिए हर कोई धन्यवाद!