Kradar 1 Posted September 6, 2014 Товарищи, подскажите наиболее эффективные методы отладки модов. Разработку модов для WoT я изучаю совсем недавно и для меня ситуация с отладкой выглядит совсем печально. Сами судите: Python: Как подключить к нему отладчик, я не знаю. Это возможно? Эксепшенов нигде не видно. Можно принтить что-то в python.log. AS3/2: Как подключить к нему отладчик, я не знаю. Сомневаюсь, что есть способ, но таки спрошу. Это возможно? Эксепшенов нигде не видно. Трейсы не работают. Или работают? Я их не нашел. Где они? Можно связаться с питоном, чтобы он напринтил что-то в python.log. Ко всему этому, еще и после каждой правки нужно перезапускать клиент WoT. Финиш! Что, все и правда так печально? Или есть возможность организовать процесс отладки более удобным образом? Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #211079 Posted September 6, 2014 По поводу питона: python.log - это файл ввода-вывода питона, то есть то что в обычном режиме пишется в консоль, в игре пишется туда.:)По поводу отладки кода (питон). На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода (файл мода закидывается в папку с модами, не забыть загрузчик). Эффективно на стадии финального тестирования и отладки. Второй - использовать PjOrion (одна из закрепленных тем в разделе файлов), удобно для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь, при отладке отдельных функций можно выкрутиться иногда, при отладке мода в целом без этого не обойтись. Quote Share this post Link to post Short link Share on other sites
Kradar 1 #211085 Posted September 6, 2014 ...python.log - это файл ввода-вывода питона... ...На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода...... ...Второй - использовать PjOrion... ...для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь... М-да... Грустно. Как-то даже не верится, что с таким инструментарием можно отлаживать что-то серьезное, наподобие XVM. Quote Share this post Link to post Short link Share on other sites
DrWebber 5 #211087 Posted September 6, 2014 (edited) Вообще с отладкой не все так плохо, как ты считаешь. Есть модуль traceback... Для чтения python.log в реал-тайме я использую следующий скрипт(из xvm) и аналог юниксового tail для win32, вместо него можно использовать notepad++ с каким-то там плагином, уже не помню. import BigWorld def _autoFlushPythonLog(): BigWorld.flushPythonLog() BigWorld.callback(0.3, _autoFlushPythonLog) f = open('python.log', 'r') f.close() _autoFlushPythonLog() Edited September 6, 2014 by DrWebber Quote Share this post Link to post Short link Share on other sites
Kradar 1 #211097 Posted September 6, 2014 Вообще с отладкой не все так плохо, как ты считаешь. Почему? Все именно так плохо. Можно что-то принтить в лог. И все. Как узнать, например, что у тебя необработанный эксепшен в AS3? Никак. Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #211103 Posted September 6, 2014 использую следующий скриптА зачем эти команды? f = open('python.log', 'r') f.close() Я пользуюсь таким модиком: import game game.autoFlushPythonLog()А вместо tail'а - F3 в Far'е. Quote Share this post Link to post Short link Share on other sites
Kradar 1 #211329 Posted September 8, 2014 Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется? Ребят, кто-то из вас занимался проф. разработкой приложений на базе Flash/Flex/AIR или Python? Вас не напрягает такой скудный инструментарий отладки? Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #211449 Posted September 8, 2014 Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется? Я раскопал немало скриптов. Как я понял game.pyc это главный или по крайней мере не самый последний скрипт. Там (вроде как) я видел парсинг аргументов командной строки (поищи тотал коммандером фалик с sys.argv). Для запуска клиента в режиме отладки. Дополнительные сообщения в лог, как я понял, особо не разбирался. Может реально что интересное найдешь) По поводу того, как дебажат в WG - у них есть специальный клиент походу. Насчет эксепшена во флэше - кажется я видел пару раз какой-то подозрительный вывод от Питона. Насчет связи питона и флэша - есть статья на хабре... DAAPI кажется или что-то подобное. Вот недавно Орион появился, теперь дебажить базовые функции проще. А раньше по хардкору спец. файл с реакцией на хоткей и выводом в лог, иногда на экран. Quote Share this post Link to post Short link Share on other sites
Kradar 1 #211499 Posted September 9, 2014 поищи тотал коммандером фалик с sys.argv У-у-у... ептить! Сколько там всего интересного открывается. Спасибо! Только "тотал коммандером" - не айс. Рекомендую IntelliJ IDEA. Quote Share this post Link to post Short link Share on other sites