मैंने डंप में एक कस्टम स्ट्रीम एम्बेड की है (यानी UserStreamParam तर्क MiniDumpWriteDump फ़ंक्शन पर पास कर दिया है)। अब, मैं WinDbg एक्सटेंशन से स्ट्रीम निकालने का प्रयास कर रहा हूं। (ध्यान दें कि मैंने सत्यापित किया है कि मैं MiniDumpReadDumpStream फ़ंक्शन का उपयोग कर स्ट्रीम पुनर्प्राप्त कर सकता हूं)।मैं WinDbg एक्सटेंशन से उपयोगकर्ता स्ट्रीम कैसे निकालूं?
मैं DEBUG_REQUEST_READ_USER_MINIDUMP_STREAM अनुरोध के साथ IDebugAdvanced2::Request विधि का उपयोग कर रहा हूं। मैं मानक धाराओं से डेटा पुनर्प्राप्त करने में सक्षम हूं। उदाहरण के लिए, निम्न स्निपेट विविध जानकारी स्ट्रीम की सामग्री को सही तरीके से पुनर्प्राप्त करेगा।
DEBUG_READ_USER_MINIDUMP_STREAM rums = {};
rums.StreamType = MiscInfoStream;
rums.Buffer = &buf;
rums.BufferSize = sizeof buf;
hr = p->Request(DEBUG_REQUEST_READ_USER_MINIDUMP_STREAM,
&rums, sizeof rums, 0, 0, 0);
हालांकि, अपने ही धारा पुनः प्राप्त करने के प्रयास में कोई त्रुटि (0x80070570, ERROR_FILE_CORRUPT) और WinDbg आउटपुट
Dir entry 11, ??? stream has unknown stream type 6381921
ध्यान दें कि एक ही संदेश .dumpdebug
उत्पादन का एक भाग के रूप में प्रकट होता है का परिणाम देगा।
Stream 11: type ??? (6381921), size 00000038, RVA 00033FA9
Dir entry 11, ??? stream has unknown stream type 6381921
समस्या क्या है? मैं अपने उपयोगकर्ता स्ट्रीम की सामग्री कैसे प्राप्त करूं?
यही मैंने कोशिश की और यह काम नहीं करता (यही सवाल राज्य का दूसरा हिस्सा है)। – avakar