2014-06-13 3 views
7

मैं एक सी ++ आवेदन, कि दुनिया के दूसरे छोर पर कुछ व्यक्ति के कंप्यूटर पर दुर्घटनाओं की है। मेरे लिए अनुकरण करने या एक ही कंप्यूटर प्राप्त करने का कोई तरीका नहीं है। व्यक्ति कोई डेवलपर नहीं है, इसलिए मैं वास्तव में उसे विजुअल स्टूडियो या कुछ स्थापित करने के लिए नहीं कह सकता। मेरे पास बहुत गहरे डीबग लॉग हैं, लेकिन उन्होंने कुछ भी उपयोगी नहीं बताया।विजुअल स्टूडियो को स्थापित किए बिना विंडोज़ पर एक क्रैश का स्टैक ट्रेस प्राप्त करें? (C++)

वहाँ एक उपकरण है, कि दुर्घटना के समय आवेदन के स्टैक ट्रेस उत्पन्न कर सकता है? ऐसी चीज ओएसएक्स के अंदर उपलब्ध है, लेकिन ऐसा लगता है कि विंडोज़ में यह नहीं है।

+2

http://msdn.microsoft.com/en-gb/library/windows/hardware/ff551063%28v=vs.85%29.aspx – ldgorman

उत्तर

3

आप ProcDump उपयोग कर सकते हैं। इसे क्रैशिंग प्रक्रियाओं के लिए स्वचालित रूप से डंप बनाने के लिए डीबगर के रूप में सेट किया जा सकता है।

ProcDump Sysinternal उपकरण का हिस्सा है और में पाया जा सकता:

http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

प्रासंगिक स्विच:

एक त्रिशंकु आवेदन के लिए एक डंप बनाएँ:

एक मिनी डंप लिखें 'hang.exe' नाम की एक प्रक्रिया के लिए, जब इसका विंडोज 5 सेकंड से अधिक के लिए उत्तरदायी नहीं है:

जस्ट-इन-टाइम (AeDebug) डिबगर के रूप में

रजिस्टर:

C:\>procdump -h hang.exe hungwindow.dmp 

स्वचालित रूप से दुर्घटनाग्रस्त क्षुधा के लिए डंप पैदा करते हैं। सी में पूर्ण डंप बनाता है: \ डंप।

C:\>procdump -ma -i c:\dumps 
+0

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

1

उपयोग Google की lib डिबग करने के लिए MSVC के लिए मिनीडम्प बनाता है। CrashRpt

+1

सिर्फ स्पष्टता के लिए, यह "google's lib" नहीं है, यह बस है एक ओपन सोर्स प्रोजेक्ट और यह अब http://crashrpt.sourceforge.net/ पर स्थित है – Perry

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