2011-10-25 10 views
5

मैं बेंचमार्किंग कर रहा हूँ का उपयोग कर बनाता है/एक धीमी सी ++ आवेदन के अनुकूलन, और कुछ stackshots लेने में मैंने पाया कि मेरे आवेदन की रिहाई का निर्माण डिबग ढेर उपयोग कर रहा है ढेर में से कुछ के रूप में, पाया निशान संकेत मिलता है:कुलपति ++ विजुअल स्टूडियो 2010 पर: रिलीज़ डिबग ढेर

ntdll.dll!string "Enabling heap debug options\n"() + 0x11056 bytes 

यह एक 64-बिट आवेदन मैं ऑनलाइन ठीक उसी वातावरण में इस समस्या के बारे में दो या तीन अन्य शिकायतों को देखने के विंडोज 7 पर चल रहा है, लेकिन किसी भी प्रतिक्रियाओं के बिना।

किसी को भी एक सुराग क्यों विंडोज या दृश्य स्टूडियो एक रिलीज निर्माण सी ++ परियोजना के लिए डिबग ढेर का उपयोग कर किया जाएगा है?

+0

stackshots प्रयोग करने के लिए +1। –

उत्तर

6

The debug heap is used when a program is run under debugger (प्रोफाइलर अक्सर डिबगर के रूप में स्वयं को प्रकट)। इसे बाईपास करने के लिए प्रोग्राम डिबगिंग के बिना शुरू किया जाना चाहिए, फिर डीबगर को चलने वाली प्रक्रिया से जोड़ा जाना चाहिए।

+0

धन्यवाद। मैं नहीं जानता कि कैसे मैं कभी नहीं जानता था कि, हालांकि मैं मानता हूँ मैं डिबग ढेर उपयोग करने के लिए एक रिलीज आवेदन के लिए मजबूर कर में लाभ नहीं दिख रहा है - संभव वास्तविक दुनिया के रूप में बारीकी से नकल करने के लिए जारी किए जाने के बिंदु नहीं है परिदृश्यों !? –

+0

@Mahmoud अल-Qudsi: यह बात वास्तव में है कि अच्छी तरह से ज्ञात नहीं है, मैं भी यह पता करने के लिए आश्चर्य था। खैर, डीबग हेप की सुविधा डीबगिंग और डीबगर सुविधा को डिबगिंग की सुविधा प्रदान करती है, इसलिए मुझे लगता है कि उन्होंने इसे गठबंधन करने का निर्णय लिया है। यह विजुअल स्टूडियो या ऐसा कुछ भी नहीं किया जाता है - यह विंडोज द्वारा किया जाता है। – sharptooth

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