我正在使用以下函數來讀取包含用戶定義流的.dmp文件。現在我的問題是,在我的轉儲中,存在具有相同流類型的多個流。MiniDumpReadDumpStream和多個相同類型的流
BOOL WINAPI MiniDumpReadDumpStream(
__in PVOID BaseOfDump,
__in ULONG StreamNumber,
__out PMINIDUMP_DIRECTORY *Dir,
__out PVOID *StreamPointer,
__out ULONG *StreamSize
);
至於我在我的測試中看到,上面的功能將只返回給我這樣流的非常首次出現,忽略所有其他的,因爲它通過其類型檢索流,而不是指數次數。 如果我使用dumpchk.exe實用程序分析我的轉儲文件,它會正確顯示所有其他存在的流。此外,我能夠用我自己的閱讀器代碼正確地讀出流,這很醜陋,所以我不想使用它。
所以只是爲了澄清。這是MiniDumpReadDumpStream函數的問題嗎?還是有一條規則可以使用相同類型來記錄多個流?我無法在文檔(msdn)中找到這樣的說明... 或者有沒有辦法讓函數返回其他流?
期待您的答案......
最好的問候, 費邊
謝謝你很好,先生。這當然有幫助。 – 2012-08-03 12:04:50
@FabianCordes:不客氣!實際上,您可以完全忽略MiniDumpReadDumpStream API並轉到RAW結構訪問。由於所有結構都有文檔記錄且不會更改,因此可以遍歷(並索引)轉儲文件的內容。我做到了,工作得很好。 – mox 2012-08-03 13:29:39