Всегда регистрируйте свои ошибки с полной трассировкой стека, чтобы дать вам точное представление о том, где произошла ошибка.Вы можете использовать что-то вроде MadExcept, которое позволяет пользователю отправлять вам журнал ошибок со всеми соответствующими данными, добавляемыми, когда это происходит.
При отладке ошибок Windows API единственным важным элементом информации является код возврата API, которыйСам API возвращается или вы можете получить его через функцию GetLastError.Успех обычно равен нулю (но не всегда) и содержит ошибку в некотором положительном целочисленном (DWORD) коде.Просто посмотрите на MSDN, что это значит.Вы идете оттуда.Я уверен, что только сам код ошибки возврата даст вам достаточно информации (вместе с трассировкой стека и т. Д.) О том, что не так.
Если нет, то необходим более подробный анализ.Затем вы можете попытаться реплицировать окружение пользователя или выполнить удаленную отладку приложения.
О, и обратите внимание, что API-интерфейсы Windows не вызывают исключений.Вы несете ответственность за проверку кода возврата и самостоятельное поднятие исключения, если считаете это необходимым.Это старый стиль "функционального типа Си" программирования.
РЕДАКТИРОВАТЬ:
Если вы ищете простое и бесплатное решение, вы можете посмотреть на SimpleLog ,логирование решение мое собственное.Но MadExcept намного лучше и полон разных вариантов.