2009-09-30 64 views
4

我們有一個使用DbgHelp的MiniDumpWriteDump()來編寫minidump的進程崩潰處理程序。 但我知道它不是最好的辦法,但目前我們沒有其他選擇。Minidump創建空的轉儲文件

問題是:某個可執行文件總是會創建0字節轉儲。但是對於其他流程來說,它效果很好這種行爲背後的可能原因是什麼?

回答

6

我們不時有我們的小型代碼的問題。最後,我們將其更改爲在啓動時產生一個輕量級輔助進程,並在我們需要生成一個小型轉儲時使用一個簡單的MMF與自卸車進程進行通信。

我們在轉儲過程中使用MiniDumpWriteDump出現種種問題。自從改爲專門的傾銷程序以來,這一直非常可靠。

如果可能,我建議你考慮一致。它最終沒有那麼多的工作。

+0

+1我們最終也這樣做了。 – 2009-12-04 15:59:05

+0

@anelson,你如何從一個進程獲取異常信息(我的意思是'PEXCEPTION_POINTERS')?僅僅通過指向MMF的指針就行不通,是嗎? – 2016-04-06 08:35:50

+0

@TamásSzelei您不會將異常信息傳遞到翻鬥過程,您可以從異常處理程序中觸發翻鬥過程。轉儲將包含包含異常信息的堆棧幀。 – anelson 2016-04-09 17:06:19