 |
|

12.02.2018, 23:38
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
прив
Многие ли из вас знают, что с помощью Visual Studio можно отлаживать плагины прямо в игре и что делается это очень просто? Нет, блять, нихуя вы не знаете!
Но я вас научу. Берём студию и проект своего плагина, идём в конфигурацию проекта на страницу "Debugging" (Отладка) и ставим такие параметры:
D:\GTA\SAMP - это путь к игре, если кто не понял.
На странице General (Основные) в параметр Output Directory (Выходная директория) нужно указать путь к игре (если он уже не указан в Linker -> General -> Output File).
Далее, на странице Linker (Компоновщик) -> Debugging (Отладка) меняем параметр Generate Debug Info на "Debug".
Желательно изменить ещё следующие настройки (всё это уже настроено в автоматически создаваемой конфигурации "Debug", но может отсутствовать в готовых проектах или шаблонах):
C/C++ -> Optimization -> Optimization = Disabled
В C/C++ -> Preprocessor -> Preprocessor Definitions добавить _DEBUG;
C/C++ -> Code Generation -> Runtime Library = Multi-threaded debug
Всё, теперь при запуске приложения из студии, путём нажатия этой кнопки
вы больше не будете видеть похожую ошибку
вместо этого будет запущена игра с вашим плагином и в режиме отладки.
Ставьте тысячи брейкпоинтов и краштесь на здоровье!
Чтобы проворачивать то же самое в сампе, закиньте __loadsamp.asiв корень игры и в параметр "Command Arguments" с первого скрина впишите эту строку: -loadsamp -c -n FYPs_fan -h 127.0.0.1 -p 7777
|
|
|

13.02.2018, 05:17
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Для DLL не подойдет.(Для справки остальным)
p.s. За исключением соба
|
|
|

13.02.2018, 12:10
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Запускаете игру -> VisualStudio - Debug - Attach to Process - gta_sa.exe. В ида про есть отладчик с псевдокодом (правда энивей надо с дебаг инфой билдить для профита, но можно и самп так дебагать). Еще есть полезная хреновина в студии - Edit and Continue, позволяет редачить код без рекомпила.
Пиздек, не делайте так, юзайте дебаг конфигурацию
|
|
|

13.02.2018, 12:21
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от NarutoUA
Запускаете игру -> VisualStudio - Debug - Attach to Process - gta_sa.exe. В ида про есть отладчик с псевдокодом (правда энивей надо с дебаг инфой билдить для профита, но можно и самп так дебагать). Еще есть полезная хреновина в студии - Edit and Continue, позволяет редачить код без рекомпила.
Пиздек, не делайте так, юзайте дебаг конфигурацию
Edit Continue
Вариант тоже неплохой на самом деле , только нужна база данных для модуля
|
|
|

13.02.2018, 12:32
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от iAmerican
Для DLL не подойдет.(Для справки остальным)
p.s. За исключением соба
ну переименовать .dll в .asi и все дела, а ещё некоторые лоадеры грузят и длл из своей папки
Сообщение от NarutoUA
Запускаете игру -> VisualStudio - Debug - Attach to Process - gta_sa.exe
это менее удобно и если игру крашит через доли секунды после запуска, не успеешь прицепить отладчик
Сообщение от NarutoUA
Пиздек, не делайте так, юзайте дебаг конфигурацию
это да, в проекте просто не было дебаг конфигурации
|
|
|

13.02.2018, 12:39
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от FYP
это менее удобно и если игру крашит через доли секунды после запуска, не успеешь прицепить отладчик
Хз, дебагаю ресамп таким образом, ниче не крашило
|
|
|

13.02.2018, 12:51
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от NarutoUA
Хз, дебагаю ресамп таким образом, ниче не крашило
ты не понял. если твой плагин (ресамп) крашит игру сразу же при запуске, ты не успеешь прицепить отладчик, для этого придётся добавлять какой-нибудь MessageBox в сам плагин, который бы паузил процесс до нажатия "ОК". это же касается и использования брейкпоинтов на раннем этапе загрузки.
да, твой вариант рабочий и его можно юзать, но зачем, когда есть вариант получше?
|
|
|

13.02.2018, 12:53
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от FYP
ты не понял. если твой плагин (ресамп) крашит игру сразу же при запуске, ты не успеешь прицепить отладчик, для этого придётся добавлять какой-нибудь MessageBox в сам плагин, который бы паузил процесс до нажатия "ОК". это же касается и использования брейкпоинтов на раннем этапе загрузки.
да, твой вариант рабочий и его можно юзать, но зачем, когда есть вариант получше?
Если твой плагин не запускает игру в окне то тогда ничем
|
|
|

13.02.2018, 13:00
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от NarutoUA
то тогда ничем
что ничем?
зачем моему плагину запускать игру в окне, когда для этого есть другие плагины или собейт и они с этим хорошо справляются? окно игры создаётся не моментально после старта
|
|
|

13.02.2018, 13:13
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от FYP
что ничем?
зачем моему плагину запускать игру в окне, когда для этого есть другие плагины или собейт и они с этим хорошо справляются? окно игры создаётся не моментально после старта
Ну в этом и преимущество аттача что игру можно перед этим запускать как хочешь.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|