|
Прочая документация Помощь, книги, инструкции, описания |
|
Опции темы | Поиск в этой теме | Опции просмотра |
07.09.2010, 00:17 | #1 |
Пользователь
|
[dev] manual debug
Попробую сам описать по порядку все свои действия
Мануал рассчитан на аудиторию ,которая уже умеет на минимальном уровне работать с конфигурацией ,также имеет уже установленную базу данных ,и весь необходимый софт используемый в данном мануале ,включая исходники самого сервера. Итак, Открываем проект с помощью visual studio (разбор идет на примере Visual studio 2010) 1) Выставляем режим Debug (кажется этого хватает? ) 2) Для того что бы запускать сервер прямо из студии(при условии отладки именно mangosd.exe ) устанавливаем проект по умолчанию mangosd Примечание: Возможно можно еще и так - 3)Также по информации вроде как нужны sumbol библиотеки DEBUG- Options and Sеttings скачиваются прямо из этого же меню,устанавливаются сами 4)Устанавливаем рабочую папку (Working directory) [Для того что бы подхватывал *.conf файл ] 5)После Собираем Весь проект с помощью кнопки F7 6)Не Забываем положить в папку bin\Win32_Debug\ Примечание: KiriX: Достаточно положить один конфиг, рилмд рапускать из рабочей папки сервера, а путь до ДБЦ и карт прописать в конфиге a) файлы конфигурации mangosd.conf realmd.conf и по надобности scriptdev2.conf (я думаю возможность отладки sd2 будет разобран чуть позже отдельно) б)папки с dbc maps в)Настроить конфигурационные файлы под себя (естественно тут уже как кому надо ,я допустим выставляю уровень вывода в консоль 3 и уровень записи в файл тоже 3 Код:
LogSQL = 3 PidFile = "" LogLevel = 3 7)После проверяем запуская сервер из папки если прогрузка проходит удачно ,закрываем и запускаем из vs с помощью F5 Итак Когда все запустилось переходим к самому процессу отладки (всем огромное спасибо кто отписался в теме теперь вроде бы я понял как и что ,может быть не все ,но суть ясна) Примечание: нас сейчас на данный момент интересует именно описанные в теме breakpointы, так вот их нужно расставлять в коде ,как будет разобрано чуть ниже. Перекомпилировать не НУЖНО ,во время запущеного с vs сервера можно ставить и удалять брикпоинты . РАБОТАТЬ БУДЕТ Разбирать будем по нескольким примерам: Пример №1 (самый простой ) Находим в окошке проекта (Solution Explorer ) game - world/hadlers -battleground.cpp открываем - ищем функцию (CTRL +F) Код:
void BattleGround::SetBgRaid( uint32 TeamID, Group *bg_raid ) Код:
old_raid = bg_raid; Если нажать правой кнопкой мыши ,то можно выставить необходимые нам параметры для данного брикпоинта чуть ниже в теме есть описание каждого из этих меню. В самом низу есть вкладка BreakPoints ,она вам тоже понадобиться Примечание :так как при запуске главным проектом является mangosd ,то естественно realmd (логин сервер не запускается) ,поэтому запускаем его вручную из папки . Возможно можно еще и так - далее заходим в игру под записью гм ,администратора пишем в чате .debug bg после нажимаем на клавишу H ,переходим на вкладку Поля боя -выбираем поле боя ,нажимаем вступить в бой -вступаем в бой После всех этих действий должен сработать breakpoint ,вас или автоматически свернет на vs ,если этого не произошло свернитесь сами Примечание:Как только срабатывает breakpoint весь мир замораживается ,и никакие действия происходить не будут!!! Для того что бы продолжить выполнение действий нужно в vs нажать F5 (Continue) (не спешите этого делать!) После того как мы свернулись в vs -смотрим Теперь при наведении на переменную видим значения этих переменных Также обратите внимание как выглядит теперь красная точка. Примечание:если вы обратили внимание то большинство значений 0 ,видимо по той простой причине что заход на бг,был произведен в дебаг режиме ,поэтому большинство значений просто не были нужны После того как бы налюбовались и проверили значения ,убедились что в мире ничего не происходит .можно нажать кнопку F5 -и выполнение процесса продолжиться . Пример №2 Всем спасибо за ответы.
__________________
Когда-нибудь на оффе поставят Mangos... Последний раз редактировалось partizanes; 08.09.2010 в 12:00. |
6 пользователя(ей) сказали cпасибо: | alien (09.09.2010), Feel the Power (07.09.2010), KiriX (07.09.2010), Konctantin (26.10.2014), Mayss (30.12.2010), srv38 (08.09.2010) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10544] Output debug only note for known not implemented packets | newsbot | CMaNGOS Commits | 0 | 26.09.2010 18:10 |
[10492] Fixed crash in debug output for some data. | newsbot | CMaNGOS Commits | 0 | 16.09.2010 23:40 |
[10395] No debug log output when a certain ability is active | newsbot | CMaNGOS Commits | 0 | 21.08.2010 19:22 |
[Manual]Основы правки спеллов | Gerald | Новичкам | 0 | 14.03.2010 01:00 |