Крашит при unload

std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
У меня есть маленькая длл (просто вывод в консоль), и когда всё что нужно завершено - она крашит игру. 1588534790674.pngdllmain
1588534835717.pngФункции инициализации и анлоуда
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
813
Реакции[?]
417
Поинты[?]
49K
Можно исправить несколько вещей:
1) Ты выделяешь консоль, но не освобождаешь ее (FreeConsole).
2) this->isInit = !this->isInit просто на this->isInit = false;
Когда именно вылетает, когда завершается поток HackStart или после DLL_PROCESS_DETACH?
 
Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2020
Сообщения
221
Реакции[?]
22
Поинты[?]
0
так при краше оно же анлоадид, всё правильно?
 
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
Можно исправить несколько вещей:
1) Ты выделяешь консоль, но не освобождаешь ее (FreeConsole).
2) this->isInit = !this->isInit просто на this->isInit = false;
Когда именно вылетает, когда завершается поток HackStart или после DLL_PROCESS_DETACH?
Я посмотрел - оно вылетает просто при инжекте
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
813
Реакции[?]
417
Поинты[?]
49K
Попробуй убрать создание консоли и вывод в нее, если из-за этого значит нужно выгружать созданную консоль.
Еще LPTHREAD_START_ROUTINE это DWORD (__stdcall *)(LPVOID param), а у тебя нет ни возвращаемого значения, ни соглашения stdcall (на x64 это могло бы быть неважным, но все равно стоит сделать правильное объявление).
 
Последнее редактирование:
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
Я как-то решил проблему. Сам не понял как.
 
Сверху Снизу