Я ищу баг с непонятно почему удаляющимся героем.
Я хочу заменить все функции удаления юнита на мою функцию для отладки, понятное дело я буду делать быстрой заменой, вручную я манал это делать, соответственно прописывать вручную в каждом месте имя функции откуда вызывается удаление не собираюсь.
В языках С и С++ есть некий макрос, который возвращает имя функции из которой его использовали и еще макрос номера строки на которой он находится.
Собственно вопрос, есть ли нечто похожее в jass? Чтобы можно было удобно локализовать из какой функции придет сообщение о баге, не вслепую же мне определять и прописывать в каждой функции её имя вторым аргументом.

Нет, но есть тула - Jass SPy которая позволяет следить когда какая функция вызывается и какие аргументы...
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
Нет, но есть тула - Jass SPy которая позволяет следить когда какая функция вызывается и какие аргументы...
Принятый ответ
16
нет, только реализовывать через второй аргумент, либо знать свой код наизусть, работать с чистым jass и использовать jassSpy на реплее с моментом, где пропал герой
24
Как вариант - можно написать свой внешний парсер для замены и простановки отладочной информации и скормить ему j файл, а результат обратно импортировать в отладочную версию карты..
28
Как вариант - можно написать свой внешний парсер для замены и простановки отладочной информации и скормить ему j файл, а результат обратно импортировать в отладочную версию карты..
Как только встречаем слово function, записываем имя. Если встречается RemoveUnit(), вставляем после call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., NAME). Как только встречается endfunction, имя стираем.
24
PT153, кривовато описал, но как-то так, да, если сильно не заморачиваться.
28
Ну я написал такой скрипт на Python 3, держите.

При удалении юнита будет выведено следующее:
  • название переменной, в которой юнит хранится, или название функции с аргументами, из которой юнит был получен.
  • название функции, где было произведено удаление.

Требуется чистый JASS.
Добавил ввод путей. Только вводите нужные пути, я никакие проверки не ставил.
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.