Снегопат
https://snegopat.ru/forum/

Reborn и OneScript
https://snegopat.ru/forum/viewtopic.php?f=3&t=719
Страница 2 из 4

Автор:  syuzyov [ 21 июн 2016, 22:44 ]
Заголовок сообщения:  Re: Reborn и OneScript

Поскольку у меня очень мало опыта и знаний, мне постоянно приходится сомневаться в них, и все непонятное максимально внимательно и со всех сторон проверять - я просто не знаю, делаю ли я что-то не так, или можно ишу оформлять. Дергать часто и по глупостям не хочется, но текущий подход съедает много времени и нервов. Поэтому прошу отнестись пониманием, как к убогому, и поддержать ответами на мои возможно глупые вопросы - буквально несколько дней, пожалуйста... :)

Автор:  orefkov [ 22 июн 2016, 08:50 ]
Заголовок сообщения:  Re: Reborn и OneScript

Пока отвечу коротко - действительно, пока свой загрузчик аддинов можно реализовать только на AS.
Самое простое - создать в папке снегопата папку mods (рядом с core) - все файлы с расширением .as из нее загружаются снегопатом при старте программы.
Взять за основу dllloader.as, и допилить для загрузки onescript.

Автор:  syuzyov [ 22 июн 2016, 09:36 ]
Заголовок сообщения:  Re: Reborn и OneScript

Спасибо, попробую.

Автор:  syuzyov [ 22 июн 2016, 10:45 ]
Заголовок сообщения:  Re: Reborn и OneScript

Сделал свой лоадер, команда загрузки появилась, спасибо.
Сейчас буду пытаться запустить сркипт.

P.S. Как все же грустно хотя бы без стека вызовов в as :(

Автор:  syuzyov [ 23 июн 2016, 22:48 ]
Заголовок сообщения:  Re: Reborn и OneScript

Вроде начало получаться: лоадер сделан, он подгружает односкриптовую обертку и даже загружает скрипт :). Но поскольку моск все-таки устает от однообразной долбежки, хочется разноообразить свои штудии, поэтому параллельно изучаю варианты отладки as. Чтобы не ходить по граблям, расскажи пожалуйста в двух словах, какой дебаггер под as использовал, и какого рода глюки были? Изучал ли возможность сделать дебаггер под VS?

Автор:  orefkov [ 24 июн 2016, 07:07 ]
Заголовок сообщения:  Re: Reborn и OneScript

Использовал я Peer, но дело в том, что сервер отладки должен быть встроен в саму snegopat.dll, а я его оттуда пока выпилил.
Давай сегодня сделаю версию со встроенным отладчиком, попробуем.

Автор:  syuzyov [ 24 июн 2016, 09:29 ]
Заголовок сообщения:  Re: Reborn и OneScript

orefkov писал(а):
Использовал я Peer, но дело в том, что сервер отладки должен быть встроен в саму snegopat.dll, а я его оттуда пока выпилил.
Давай сегодня сделаю версию со встроенным отладчиком, попробуем.

Давай, это было бы чудесно.
Цитата:
Использовал я Peer, но дело в том, что сервер отладки должен быть встроен в саму snegopat.dll

На счет встраивания понятно - я пока накидал два проекта на потестировать, с использованием класса CDebuuger из аддонов AngelSript и с использованием asPeek.
Собственно сейчас пытаюсь придумать, как малой кровью можно было бы сделать дебаггер подключаемым. Один из вариантов: наличие debugger.dll в папке с определенным интерфейсом - тогда можно было бы подключать разные отладчики. Ну и читаю про возможность реализации отладчика для VS - ежели такое удастся, то будет вообще песня :)

Автор:  orefkov [ 24 июн 2016, 11:02 ]
Заголовок сообщения:  Re: Reborn и OneScript

Извиняюсь, не Peer, а Peek.
Вобщем, в процессе обратного подключения peek'а нашёл я таки в нём ошибочку и исправил ее.
Попутно в v8api нашёл и исправил небольшой косячок от 8.3.7 и выше.
Выкладываю снегопат с отладчиком AS.
Порядок отладки:
Заменить snegopat.dll на прилагаемую.
Открыть client\asPEEK.html в Chrome.
Запускать
Код:
starter -asdebug

тогда инициализируется сервер отладки. Стартует на 9002 порту, убедитесь, что он не занят другими приложениями.
когда стартанёт - в клиенте появится список файлов - можно ставить точки останова.
Если останов нужен в момент загрузки - в коде вызываем функцию "debugger();" - вызов этой функции вставляет в asPeek точку останова на строке, следующей за вызовом функции.
После останова можно смотреть стек с переменными, выполнять пошагово:
Код:
"stepover": "F10",
"stepin": "F11",
"continue": "F8",
"stepout": "SHIFT+F11",

вот как-то так.

Вложения:
as_debugger.zip [4.21 МБ]
Скачиваний: 817

Автор:  syuzyov [ 24 июн 2016, 11:44 ]
Заголовок сообщения:  Re: Reborn и OneScript

Отлично, спасибо. Теперь snegopat.dll на две трети состоит из отладчика :)
Подложил библиотеку, запустился без отладки - ок.
Запустил с отладкой - поймал ошибку, вышли окна сначала (1), потом (2).
Поставил debugger(); в packet.as, открыл клиента - отладчик работает (3), ура!
На сегодня закончил, завтра попробую разобраться, что он там обернуть не смог.
Правда смущает "Bad result code compatible.cpp ScriptToUnknownWrap_func".

Вложения:
1.gif
1.gif [ 22.7 КБ | Просмотров: 20689 ]
2.gif
2.gif [ 36.18 КБ | Просмотров: 20689 ]
3.gif
3.gif [ 283.15 КБ | Просмотров: 20689 ]

Автор:  orefkov [ 24 июн 2016, 13:22 ]
Заголовок сообщения:  Re: Reborn и OneScript

Первая ошибка (в initScripts) - сделай get_latest, я ее как-раз и отловил и поправил.

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/