Kradar Posted September 6, 2014 Share Posted September 6, 2014 Товарищи, подскажите наиболее эффективные методы отладки модов. Разработку модов для WoT я изучаю совсем недавно и для меня ситуация с отладкой выглядит совсем печально. Сами судите: Python: Как подключить к нему отладчик, я не знаю. Это возможно? Эксепшенов нигде не видно. Можно принтить что-то в python.log. AS3/2: Как подключить к нему отладчик, я не знаю. Сомневаюсь, что есть способ, но таки спрошу. Это возможно? Эксепшенов нигде не видно. Трейсы не работают. Или работают? Я их не нашел. Где они? Можно связаться с питоном, чтобы он напринтил что-то в python.log. Ко всему этому, еще и после каждой правки нужно перезапускать клиент WoT. Финиш! Что, все и правда так печально? Или есть возможность организовать процесс отладки более удобным образом? @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 6, 2014 Share Posted September 6, 2014 По поводу питона: python.log - это файл ввода-вывода питона, то есть то что в обычном режиме пишется в консоль, в игре пишется туда.:)По поводу отладки кода (питон). На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода (файл мода закидывается в папку с модами, не забыть загрузчик). Эффективно на стадии финального тестирования и отладки. Второй - использовать PjOrion (одна из закрепленных тем в разделе файлов), удобно для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь, при отладке отдельных функций можно выкрутиться иногда, при отладке мода в целом без этого не обойтись. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted September 6, 2014 Author Share Posted September 6, 2014 ...python.log - это файл ввода-вывода питона... ...На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода...... ...Второй - использовать PjOrion... ...для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь... М-да... Грустно. Как-то даже не верится, что с таким инструментарием можно отлаживать что-то серьезное, наподобие XVM. @ Quote Link to comment Short link Share on other sites More sharing options...
DrWebber Posted September 6, 2014 Share 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 Link to comment Short link Share on other sites More sharing options...
Kradar Posted September 6, 2014 Author Share Posted September 6, 2014 Вообще с отладкой не все так плохо, как ты считаешь. Почему? Все именно так плохо. Можно что-то принтить в лог. И все. Как узнать, например, что у тебя необработанный эксепшен в AS3? Никак. @ Quote Link to comment Short link Share on other sites More sharing options...
MakcT40 Posted September 6, 2014 Share Posted September 6, 2014 использую следующий скриптА зачем эти команды? f = open('python.log', 'r') f.close() Я пользуюсь таким модиком: import game game.autoFlushPythonLog()А вместо tail'а - F3 в Far'е. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted September 8, 2014 Author Share Posted September 8, 2014 Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется? Ребят, кто-то из вас занимался проф. разработкой приложений на базе Flash/Flex/AIR или Python? Вас не напрягает такой скудный инструментарий отладки? @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 8, 2014 Share Posted September 8, 2014 Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется? Я раскопал немало скриптов. Как я понял game.pyc это главный или по крайней мере не самый последний скрипт. Там (вроде как) я видел парсинг аргументов командной строки (поищи тотал коммандером фалик с sys.argv). Для запуска клиента в режиме отладки. Дополнительные сообщения в лог, как я понял, особо не разбирался. Может реально что интересное найдешь) По поводу того, как дебажат в WG - у них есть специальный клиент походу. Насчет эксепшена во флэше - кажется я видел пару раз какой-то подозрительный вывод от Питона. Насчет связи питона и флэша - есть статья на хабре... DAAPI кажется или что-то подобное. Вот недавно Орион появился, теперь дебажить базовые функции проще. А раньше по хардкору спец. файл с реакцией на хоткей и выводом в лог, иногда на экран. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted September 9, 2014 Author Share Posted September 9, 2014 поищи тотал коммандером фалик с sys.argv У-у-у... ептить! Сколько там всего интересного открывается. Спасибо! Только "тотал коммандером" - не айс. Рекомендую IntelliJ IDEA. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.