gpt4 book ai didi

c++ - 崩溃时如何为我的进程创建小型转储?

转载 作者:IT老高 更新时间:2023-10-28 12:41:13 24 4
gpt4 key购买 nike

我无法通过更改系统设置从我的进程中创建小型转储。所以我的问题是:

  • 当用户进程崩溃时,系统会为其创建一个小型转储

    如果是,我需要配置哪个设置

  • 或者我必须以编程方式创建小型转储。

  • 小型转储在调查崩溃时的效果如何

我使用的是 Windows XP、C++、VC6

最佳答案

您需要以编程方式创建一个小型转储(有一个异常(exception),请参阅下一个链接)。 CodeProject 有一个不错的article on MiniDumps .基本上,您想使用 dbghelp.dll,并使用函数 MiniDumpWriteDump()(参见 MSDN on MiniDumpWriteDump)。

此类转储的效果在很大程度上取决于应用程序。有时,对于优化的二进制文件,它们实际上是无用的。此外,如果没有经验,堆/堆栈损坏错误会导致您误入歧途。

但是,如果优化器对你来说不是太难,那么转储会帮助一大类错误,即所有具有堆栈跟踪+本地值的错误使用的变量很有用,即许多纯虚拟函数调用的东西(即错误的销毁顺序)、访问冲突(未初始化的访问或缺少 NULL 检查)等。

顺便说一句,如果您的维护策略允许,请将您的应用程序从 VC6 移植到可接受的系统,例如 VC8 或 9。您会帮自己一个大忙。

关于c++ - 崩溃时如何为我的进程创建小型转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1547211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com