我最近实现了一个实用程序来使用MiniDumpWriteDump(调试帮助库的一部分)编写用户模式转储。实现被分离成它自己的进程。目标进程可以启动此实用程序并与其通信以触发写入小型转储。
这一切都按预期工作。不过,我不确定如何解释MiniDumpWriteDump的并发规则:
所有 DbgHelp 函数,例如这个函数,都是单线程的。因此,从多个线程调用此函数可能会导致意外行为或内存损坏。为避免这种情况,您必须将来自多个线程的所有并发调用同步到该函数。
以上是指不同线程对单个进程的调用吗?或者并发调用是否也需要同步,如果MiniDumpWriteDump
在不同的进程中调用(例如,当每个目标进程启动它自己的实用程序进程时)?