Minidump 创建空转储文件
我们有一个进程内崩溃处理程序,它使用 DbgHelp 中的 MiniDumpWriteDump()
写入小型转储是进程崩溃的情况。 我知道这不是最好的方法,但是,目前我们没有其他选择。
问题是:某个可执行文件总是创建 0 字节转储。但它对于其他进程来说效果很好。这种行为背后可能的原因是什么?
We have an in-proc crash handler which is using MiniDumpWriteDump()
from DbgHelp to write a minidump is case of a process crash.
I know its not the best way to do it, however, at the moment we do not have other option.
The problem is: one certain executable always creates 0 byte dumps. But it works well for other processes. What could be the possible reason behind this behavior?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们的小型转储代码时常遇到这个问题。最后,我们将其更改为在启动时生成一个轻量级辅助进程,并在需要生成小型转储时使用简单的 MMF 与转储器进程进行通信。
我们在转储进程中使用 MiniDumpWriteDump 时遇到了各种各样的问题。自从改用专用倾倒流程以来,它非常可靠。
如果可能的话,我建议你也考虑一下。结果并没有那么多工作。
We had this problem from time to time with our minidumping code. In the end we changed it to spawn a lightweight secondary process on startup and used a simple MMF to communicate with the dumper process when we needed a minidump generated.
We had all sorts of problems using MiniDumpWriteDump from within the process being dumped. Since the change to a dedicated dumping process, it's been very reliable.
If at all possible I suggest you consider the same. It ended up not being that much work.