Jump to content
Korean Random
Kradar

Эффективные методы отладки модов

Recommended Posts

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

 

Python:

  • Как подключить к нему отладчик, я не знаю. Это возможно?
  • Эксепшенов нигде не видно.
  • Можно принтить что-то в python.log.

AS3/2:

  • Как подключить к нему отладчик, я не знаю. Сомневаюсь, что есть способ, но таки спрошу. Это возможно?
  • Эксепшенов нигде не видно.
  • Трейсы не работают.  Или работают? Я их не нашел. Где они?
  • Можно связаться с питоном, чтобы он напринтил что-то в python.log.

Ко всему этому, еще и после каждой правки нужно перезапускать клиент WoT. Финиш!

 

Что, все и правда так печально? Или есть возможность организовать процесс отладки более удобным образом?

Share this post


Link to post

Short link
Share on other sites

По поводу питона: python.log - это файл ввода-вывода питона, то есть то что в обычном режиме пишется в консоль, в игре пишется туда.:)
По поводу отладки кода (питон). На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода (файл мода закидывается в папку с модами, не забыть загрузчик). Эффективно на стадии финального тестирования и отладки. Второй - использовать PjOrion (одна из закрепленных тем в разделе файлов), удобно для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь, при отладке отдельных функций можно выкрутиться иногда, при отладке мода в целом без этого не обойтись.

Share this post


Link to post

Short link
Share on other sites

...python.log - это файл ввода-вывода питона... ...На сегодняшний день я знаю два способа отладки. Непосредственное тестирование мода...... ...Второй - использовать PjOrion... ...для проверки работоспособности отдельных функций. Некоторые функции можно проверять в реплее (некоторые базовые даже в ангаре), некоторые придется проверять в реальном бою. Насчет перезапуска клиента - ну с этим ничего не поделаешь...

М-да... Грустно. Как-то даже не верится, что с таким инструментарием можно отлаживать что-то серьезное, наподобие XVM.

Share this post


Link to post

Short link
Share on other sites

Вообще с отладкой не все так плохо, как ты считаешь. Есть модуль 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 by DrWebber

Share this post


Link to post

Short link
Share on other sites

 

 

Вообще с отладкой не все так плохо, как ты считаешь.
 

Почему? Все именно так плохо. Можно что-то принтить в лог. И все. Как узнать, например, что у тебя необработанный эксепшен в AS3? Никак.

Share this post


Link to post

Short link
Share on other sites

использую следующий скрипт

А зачем эти команды?

    f = open('python.log', 'r')
    f.close()
Я пользуюсь таким модиком:

import game
game.autoFlushPythonLog()
А вместо tail'а - F3 в Far'е.

Share this post


Link to post

Short link
Share on other sites

Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки  - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется?

 

Ребят, кто-то из вас занимался проф. разработкой приложений на базе Flash/Flex/AIR или Python? Вас не напрягает такой скудный инструментарий отладки?

Share this post


Link to post

Short link
Share on other sites

 

 

Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки  - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется?

Я раскопал немало скриптов. Как я понял game.pyc это главный или по крайней мере не самый последний скрипт. Там (вроде как) я видел парсинг аргументов командной строки (поищи тотал коммандером фалик с sys.argv). Для запуска клиента в режиме отладки. Дополнительные сообщения в лог, как я понял, особо не разбирался. Может реально что интересное найдешь)

По поводу того, как дебажат в WG - у них есть специальный клиент походу. Насчет эксепшена во флэше - кажется я видел пару раз какой-то подозрительный вывод от Питона. Насчет связи питона и флэша - есть статья на хабре... DAAPI кажется или что-то подобное. Вот недавно Орион появился, теперь дебажить базовые функции проще. А раньше по хардкору спец. файл с реакцией на хоткей и выводом  в лог, иногда на экран.

Share this post


Link to post

Short link
Share on other sites

 

 

поищи тотал коммандером фалик с sys.argv
 

У-у-у... ептить! Сколько там всего интересного открывается. Спасибо!

 

Только "тотал коммандером" - не айс. Рекомендую IntelliJ IDEA.

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...