簡體   English   中英

調用MiniDumpWriteDump()捕獲崩潰的最佳場所

[英]Best place to call MiniDumpWriteDump() to catch a crash

我有一個正在維護的大型Win32程序,並且我希望它能夠檢測到每當發生不良情況時自動無條件地生成一個minidump文件。 我不能要求客戶安裝userdump.exe,也不能要求他們安裝Visual Studio。

有這樣做的好方法嗎? 我希望能夠生成一個小型轉儲,無論是從我們的斷言處理程序(很復雜)中調用abort(),還是有人觸摸不良的內存,或者發生其他真正不良的事情。

在Posix上,我將安裝一個信號處理程序並完成此操作。 我的理解是Windows上的等效方法是SEH,但是我們的程序在許多不同的地方啟動了很多線程,因此用__try / __ catch包裹每個線程入口點將非常痛苦。

想法?

Google Breakpad客戶端和服務器組件可用於捕獲崩潰。 你可以使用這個庫

您也可以使用AddVectoredExceptionHandler注冊用於處理異常的過濾器(可以檢查不同的探險類型)回調。

希望對您有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM