我想使用 MiniDumpWriteDump 为我的应用程序生成崩溃日志。Microsoft 建议从另一个进程执行转储,这是我正在尝试做的。我遇到的问题是将PEXCEPTION_INFORMATION
结构从父进程传递给子进程。问题是父进程拥有这个结构的内存,我需要把它交给孩子。我找到了这篇文章
在进程外使用 MiniDumpWriteDump 时如何获取异常信息?
并且接受的答案说“指针在看门狗进程的上下文中无效并不重要。” 这让我相信我可以简单地将PEXCEPTION_INFORMATION
我的未处理异常过滤器接收到的指针传递给子进程,Windows 会从父进程中读取它。这没有发生,所以我真的不知道该怎么做,此时子进程崩溃,大概是因为 Windows 试图访问这个内存,就好像它属于孩子一样。我显然在这里遗漏了一些东西,但我不确定是什么。我使用管道将数据发送到子进程,上述问题的答案说使用内存映射文件有效,但我不确定为什么,或者我是否正确理解了答案。