есть ли у вас прототипы функций typedef'd (например, int (* fn) (int a, int b))
если вы думаете, что вы, возможно, ошиблись в прототипе.
ESP - это ошибка при вызове функции (можете ли вы указать, какая из них в отладчике?) Имеет несоответствие параметров - т. Е. Стек восстановился до состояния, в котором он был запущен при вызове функции.
Вы также можете получить это, если загружаете функции C ++, которые должны быть объявлены, extern C - C использует cdecl, C ++ использует соглашение о вызовах stdcall по умолчанию (IIRC). Поместите несколько внешних оболочек C вокруг импортированных прототипов функций, и вы можете это исправить.
Если вы сможете запустить его в отладчике, вы сразу увидите функцию. Если нет, вы можете настроить DrWtsn32 для создания мини-дампа, который вы можете загрузить в windbg, чтобы увидеть стек вызовов во время ошибки (вам понадобятся символы или файл карты, чтобы увидеть имена функций).