SymLoadModuleEx возвращает ERROR_INVALID_ADDRESS

Я использую SymLoadModuleEx от Dbghelp.h поставляется с VS2015. Функция работает только один раз и возвращает ERROR_INVALID_ADDRESS для следующих звонков. Когда я изменяю порядок вызовов, чтобы он вызывался для другой DLL (совершенно другой, даже находящейся в другом месте), он работает один раз и возвращает ERROR_INVALID_ADDRESS для других.

Это означает, что это не проблема загруженной DLL, потому что она не работает независимо от первой DLL.

Его инициализируется как:

SymSetOptions(SYMOPT_UNDNAME | SYMOPT_LOAD_LINES);
SymInitialize(CurrentProcessHandle = GetCurrentProcess(), nullptr, true);

И называется как:

SymLoadModuleEx(CurrentProcessHandle, nullptr, DllName.c_str(), nullptr, dwBaseAddr, 0, nullptr, 0);

DllName является правильным, а dwBaseAddr равен 0.

Согласно функции MSDN SymLoadModuleEx все должно работать просто отлично.

0 ответов

Другие вопросы по тегам