在特定进程中执行 MiniDumpWriteDump 会提供健康的转储文件。
从外部进程执行 MiniDumpWriteDump,其中 hProcess 和 processId 指向提到的特定进程,提供零长度转储文件
与 #2 相同,仅指向 FireFox 例如提供健康的转储文件
据我所知,我试图转储的特定进程正在以低权限运行,并且我的外部进程正在从管理员 CMD 窗口执行。
[DllImport("dbghelp.dll",
EntryPoint = "MiniDumpWriteDump",
CallingConvention = CallingConvention.Winapi,
CharSet = CharSet.Unicode,
ExactSpelling = true,
SetLastError = true)]
private static extern bool MiniDumpWriteDump(IntPtr hProcess,
uint processId,
SafeHandle hFile,
uint dumpType,
IntPtr expParam,
IntPtr userStreamParam,
IntPtr callbackParam);
笔记:
- 我正在刷新、关闭和正确处理文件流
- MiniDumpWriteDump 返回 false 和 GetLastWin32Error 返回:-2147024597
- 提到的特定进程(一个 dot net 服务器项目)具有与 FireFox 相同的安全选项(例如,转储适用于 Notepad++ 进程)。