+ Ответить в теме
Показано с 1 по 20 из 98

Тема: Осваиваем SDK. Установка и компиляция SDK. Вопросы по SDK.

Комбинированный просмотр

  1. #1
    У меня есть ещё вопрос. Куда компилируется новый файл dll. Я его так и не нашёл, после того, как скомпилировал.

  2. #2
    Цитата Сообщение от www555 Посмотреть сообщение
    У меня есть ещё вопрос. Куда компилируется новый файл dll. Я его так и не нашёл, после того, как скомпилировал.
    Внутри папки CvGameCoreDLL есть папка Release, именно там он и лежит.

    Так с обещанием пересказа статьи о дебаггинга я немного погорячился, там моего уровня маловато будет, поэтому перескажу что сам понял и чем уже пользовался. Вчера например несколько багов исправил с функцией, что модифицировал перед этим. Оригинал можно найти в моем пересказе выше, о компиляции. Там следующее сообщение дебаггингу посвящено.

    Во первых в VS2008, в свойствах проекта выбираем не Release, а Debug. Ну как на картинке, что я сейчас добавлю.

    Вот добавил пример.
    И начинаем компилировать. Полученный dll будет больше и медленнее, у меня он занял 16 МБ и лежать в подпапке Debug. Его я поместил в папку Assets моего мода, с заменой, как и обычный dll. Заодно включил в настройках самой цивы одну штуку, это в её файле CivilizationIV.ini что лежит в Документах - My Games\Beyond The Sword.
    Это чтобы дампы делались в случае вылета.

    Код:
    ; Create a dump file if the application crashes
    GenerateCrashDumps = 1
    Что с ними делать, есть в этой теме.
    Ещё рекомендуется запускать игру в окне, чтобы проще переключаться было.
    Код:
    ; Specify whether to play in fullscreen mode 0/1/ask
    FullScreen = 0
    Далее запускаем свой мод. В VS2008 в меню Debug находим Attach to Process, и в списке запущенных процессов находим Civ4BeyondSword.exe или как уж он там будет. Выбираем его, жмем Attach и переключаемся обратно на игру. Играем до бага, а лучше включаем автоплей ходов этак на 150, сворачиваем циву и занимаемся своими делами. Когда игра вылетит VS2008 сама остановится на функции что привела к вылету и можно будет просмотреть что за переменные виноваты.

    После правим свой код, что вызывает ошибки и перекомпилируем. Если вылеты продолжаются, думаем и повторяем.
    Ещё в Debug-режиме игра может выдавать всякие FAssertMsg, это специальные проверки в коде, на случай если какие переменные принимают недопустимые значения. Это полезно, но зачастую то, что он выдает можно не трогать, если и так работает, вроде RevDCM и лезть смотреть только если мешает игре.

    Вообще вообще этот самый Debug позволяет кучу возможностей, вроде запуска игры прямо в VS2008 для её отладки, или установки в коде специальных breakpoint, которые точки остановки. На которых игра будет сама останавливаться и можно будет просмотреть значение переменных. Но это я опишу после, когда я свой уровень подниму до правильного их использования.
    продвинь это сообщение в соцсеть:  
    Последний раз редактировалось Cansei; 29.07.2013 в 22:54.

  3. #3
    Всё понятно. Хорошо, что кто-то занялся изучением SDK. Спасибо за помощь.

+ Ответить в теме

Похожие темы

  1. Осваиваем питон (от простого к сложному)
    от swan в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 107
    Новое: 30.11.2015, 14:49
  2. [Решено]Осваиваем SDK: как правильно посадить лес?
    от Blacksun в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 75
    Новое: 12.08.2013, 11:45
  3. Осваиваем SDK. Описание SDK.
    от Blacksun в разделе Вопросы и гайды по моддингу Civ4
    Ответов: 110
    Новое: 05.09.2009, 04:07
  4. установка русификации
    от JEKA в разделе Русификация Civilization IV
    Ответов: 7
    Новое: 15.12.2005, 20:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters