Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Заметил, что у меня неправильно передается один из параметров функции:
class M_Init
{
//...
jmp_stub* SetClosure(void * from, void* to);
//...
}
Реализация:
jmp_stub *M_Init::SetClosure(void *from, void *to)
{
jmp_stub stub = new jmp_stub();
stub->arg = (size_t)to; /// size_t
//...
}
Я вызываю этот метод так:
this->SetClosure((void*)PrWrkr, (void*)&_Initialize);
где _Initialize
- это функция:
void* __stdcall _Initialize(LPVOID arg, LPVOID func) {/**/}
Например, ее адрес в отладчике до передачи 0x0f2715c0
, а после - уже 0x0f26182a
. Приложил на всякие случай скрины:
При чем первый параметр передается верно. Я отметил красным, как меняется передаваемый параметр (на первом скрине немного смазанный, но в окне интерпретации все четко видно). Переключаюсь через стэк вызовов внутрь метода - а там уже другое значение. Как такое может быть?
Проблема решена. Скорее всего, это был глюк отладчика vs2017. Ее корень, по моим наблюдениям, был в том, что отладка происходила из под проекта dll, который вызывался exe-приложением. В проекте самого exe, который вызывал эту библиотеку при последовательном трассировании, отладчик все показывал правильно. Но если просто расставить брейкпойнты без последовательных шагов с заходом, происходит тоже нечто описанное в шапке.
Скомпилированное приложение работало верно.
Большое спасибо всем кто заминусовал. Видимо, это специалисты высокого класса, которые сталкивались с подобной проблемой и заведомо знали ее решение, но пояснений от которых я был недостоен
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Пытаюсь запустить glut, раньше пытался эту библиотеку в виндовс "положить" но не сработало
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме