Я пытаюсь использовать MiniDumpWriteDump () API для сброса сбойного процесса B из другого процесса A. Я делаю это, потому что MSDN сказал так:
MiniDumpWriteDump следует вызвать из отдельного процесса, если вообще возможно, а не изнутри целевой процесс выгружается.
MiniDumpWriteDump () определяется следующим образом:
BOOL WINAPI MiniDumpWriteDump(
__in HANDLE hProcess,
__in DWORD ProcessId,
__in HANDLE hFile,
__in MINIDUMP_TYPE DumpType,
__in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
__in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
__in PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);
В частности, ExceptionParam имеет тип PMINIDUMP_EXCEPTION_INFORMATION , который определяется следующим образом:
typedef struct _MINIDUMP_EXCEPTION_INFORMATION {
DWORD ThreadId;
PEXCEPTION_POINTERS ExceptionPointers;
BOOL ClientPointers;
} MINIDUMP_EXCEPTION_INFORMATION, *PMINIDUMP_EXCEPTION_INFORMATION;
Теперь мне интересно, как подготовьте следующие 2 параметра:
ThreadId Идентификатор потока, генерирующего исключение.
ExceptionPointers Указатель на структуру EXCEPTION_POINTERS, определяющую компьютерно-независимое описание исключения и контекст процессора во время исключения.
Как я могу получить идентификатор сбойного потока и указатели исключений в процессе B во время работы в процессе A?
Спасибо.