Windows / C ++: FormatMessage () с GetExceptionCode () игнорирует FORMAT_MESSAGE_IGNORE_INSERTS

Я хотел бы использовать код, подобный следующему, чтобы сообщить о делении на ноль, нарушениях доступа и т. Д. Моя проблема заключается в том, что, несмотря на установку флага FORMAT_MESSAGE_IGNORE_INSERTSсообщения усекаются в позиции вставки.

__try
{
int *p=0;
int i = *p; // access violation
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
char  message[1024];
FormatMessageA(
FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS,
GetModuleHandleA("NTDLL.DLL"),
GetExceptionCode(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
message,
sizeof (message),
0);
OutputDebugStringA(message);
}

Приведенный выше код дает "The instruction at 0x" в отладочном выводе, который не очень полезен.

Я делаю что-то неправильно?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]