हम विज़ुअल सी ++ 6 के लिए बाउंड चेकर के साथ वर्षों से चल रहे हैं (मुझे लगता है कि यह बाउंड चेकर 5 या 6 भी था)। हमने वीएस -2008 (अंत में!) तक अपग्रेड किया है, और अब पुरानी बाउंड चेकर के लिए फॉलो-अप की आवश्यकता है।सी ++ बाउंड चेकर फॉलोअप
परिदृश्य कैसा है?
क्या उपकरण हैं?
शहर में कोई नया बच्चा?
समस्याओं के साथ निपटने वाले किसी भी नए विचार के लिए हमने स्मृति प्रोफाइलर्स का उपयोग किया?
इन उपकरणों के साथ आपके हालिया अनुभव?
सिफारिशें?
मुख्य अनुप्रयोग सी ++ कई COM DLL के साथ है, हम मूल, सी ++ और COM लीक और ऑब्जेक्ट्स को ट्रैक करना चाहते हैं। उस आकार के लिए बाउंड चेकर पहले से ही प्रदर्शन में दर्द था, डेटा की गड़बड़ी और इसकी कुछ सीमाओं को हल करना।
प्रबंधित अनुप्रयोगों (मुख्य रूप से सी #) के लिए समर्थन आवश्यक है, हालांकि यह एक अलग उपकरण हो सकता है।
संबंधित (लेकिन IMO अधूरा) प्रश्न: Modern equivalent of BoundsChecker for Visual Studio 2008
[संपादित करें]
Regardign टिप्पणी, "आधुनिक C++ में, तुम सिर्फ स्वयं जाँच प्रकार का उपयोग करें, और सीमाएं कभी नहीं टूटी जाती हैं ":
संदर्भ स्मार्ट पॉइंटर्स गिना जाता है चक्रीय संदर्भ हो सकता है। इंटरफ़ेसिंग COM घटकों को स्वाभाविक रूप से असुरक्षित है, क्योंकि इसमें बहुत से मैन्युअल मेमोरी प्रबंधन की आवश्यकता होती है। मेरे पास यूआई-कम तृतीय पक्ष सेवा लीक जीडीआई हैंडल है इसलिए यह हमारे रातोंरात परीक्षणों को दुर्घटनाग्रस्त कर दिया - विक्रेता ने इसे "अजीब" माइक्रोसॉफ्ट एपीआई पर दोष दिया। मुझे सी-आधारित पुस्तकालयों को इंटरफ़ेस करना है, मेरे पास कई विरासत कोड हैं जो संख्यात्मक व्यंजनों के अर्थ में आवंटन चालबाजी मानते हैं, एक अच्छी बात है और 3 अक्षरों से अधिक परिवर्तनीय नाम टाइपिस्ट के लिए हैं। मेरे पास इंजीनियरों से कोड है जिसके लिए std::vector<double>::iterator
double ***
की तुलना में बहुत अधिक डरावना दिखता है, अच्छी किस्मत सिग्नल प्रोसेसिंग में ठोस पृष्ठभूमि के बिना इन्हें विकसित और परीक्षण कर रहा है।
तो जब तक आप यहां नहीं आते, तब तक मूर्खतापूर्ण सी ++ कक्षाओं में कोड की एक लाख लाइनों के कोर को फिर से लिखना और समाहित करना और सुनिश्चित करें कि कुछ दर्जन उत्पाद अभी भी पहले के रूप में काम करते हैं, अपने स्मार्ट-आश्वासन को अपने आप में रखें। काश मैं एक मेमोरी चेकर की आवश्यकता नहीं होगी, लेकिन मैं करता हूँ। धन्यवाद।
आधुनिक सी ++ में, आप केवल स्वयं-जांच प्रकारों का उपयोग करते हैं, और सीमाएं कभी नहीं टूटी जाती हैं। – Puppy
वह लगभग मजेदार था, डेडएमजी। – peterchen
@ माइकल - बधाई हो!: डी – peterchen