- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在维护的大型 Win32 程序,我想对其进行检测,以便在发生不良情况时自动且无条件地生成小型转储文件。我不能要求客户安装userdump.exe,我不能要求他们安装visual studio。
有什么好的方法吗?我希望能够生成一个小型转储,无论是从我们的断言处理程序(这很复杂)调用了 abort() ,无论是有人触及了错误的内存,还是发生了其他任何真正糟糕的事情。
在 Posix 上,我将安装一个信号处理程序并完成此操作。我的理解是 Windows 上的等效方法是 SEH,但是我们的程序在很多不同的地方启动了很多线程,所以用 __try/__catch 包装每个线程入口点会非常痛苦。
想法?
最佳答案
有google breakpad 用于捕获崩溃的客户端和服务器组件。你可以使用这个库
您还可以使用 AddVectoredExceptionHandler 注册您的过滤器(可以检查不同的探险类型)回调以处理异常.
希望对你有帮助
关于c++ - 调用 MiniDumpWriteDump() 以捕获崩溃的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24317811/
我想使用 MiniDumpWriteDump 为我的应用程序生成崩溃日志。 Microsoft 建议从另一个进程执行转储,这正是我正在尝试做的。我遇到的问题是将 PEXCEPTION_INFORMAT
TL;DR 为同一个崩溃事件编写多个转储是否有意义,如果是,您需要注意什么。 我们正在使用 MiniDumpWriteDump当我们的应用程序中存在未处理的异常/中止/younameit 时写入故障转
如果堆分配/取消分配/重新分配在另一个线程中进行,DbgHelp 库的 MiniDumpWriteDump() 将挂起。这是调用堆栈:DbgHelp 暂停其他线程,然后无限期地等待这些线程获得的互斥量
如果堆分配/取消分配/重新分配在另一个线程中进行,DbgHelp 库的 MiniDumpWriteDump() 将挂起。这是调用堆栈:DbgHelp 暂停其他线程,然后无限期地等待这些线程获得的互斥量
我正在尝试创建一个简单的 C++ 控制台应用程序,它转储给定进程的内存空间(例如 calc.exe)所以我使用 MiniDumpWriteDump功能 代码如下: DWORD procID = 115
我正在尝试转储一个进程,例如 calc.exe 当我运行我的程序时,我得到 Program received signal SIGSEGV, Segmentation fault. 0x0000000
我正在尝试创建一项服务,目的是监控我公司创建的应用程序。 当应用进入无响应状态时,服务必须使用 MiniDumpWriteDump 生成一个转储。 问题是:当使用另一个进程的HANDLE时,MiniD
我想使用 MiniDumpWriteDump 函数创建一些自定义转储文件(主要是,我想导出一个包含线程调用堆栈的最少信息量的转储文件),但是我在定义需要的结构时遇到困难作为参数传递给回调函数 [Str
我有一个正在维护的大型 Win32 程序,我想对其进行检测,以便在发生不良情况时自动且无条件地生成小型转储文件。我不能要求客户安装userdump.exe,我不能要求他们安装visual studio
The documentation of the MiniDumpWriteDump function指出 MiniDumpWriteDump should be called from a sepa
我一直在使用 MiniDumpWriteDump 在崩溃时生成转储文件。我一直在尝试进行完整的内存转储。这似乎有效,并按预期生成了一个大文件。 但是,当我将这个巨大的文件加载到 Visual Stud
不久前,我们了解到即使发布版本也可能无法正常运行 - 可能会下降 - 可能会挂起等等。所以我们决定实现转储创建过程。在 Internet 上很快找到了所有步骤。但是一个——主要的事情——对我们来说仍然
我检查了 MSDN 上 MiniDumpWriteDump() 方法的定义如下: BOOL WINAPI MiniDumpWriteDump( __in HANDLE hProcess, _
我是一名优秀的程序员,十分优秀!