Как дебажить исполнение скриптов Genie.
В одной из статей я писал, как можно прикрутить исполнение скриптов Genie в ваш проект. Однако, стандартный Executor.jar собран без дебажной информации и, если поставить точку остановки внутри класса Executor.class или где-то ещё глубже внутри классов Genie, то она будет проигнорирована.
Что делать?
Нужно просто стянуть source-файлы Genie и пересобрать все проекты, включив возможность дебага. Самый простой способ пересборки можно сделать антом.
Пошагово:
1. Стягиваем ант с http://ant.apache.org/bindownload.cgi. Устанавливаем.
2. Стягиваем сорцы с http://sourceforge.net/projects/genie.adobe/files/Genie-source.zip/download
3. Распаковываем. Нужные нам проекты будут лежать в папке GenieTool.
4. Находим внутри каждого проекта build-файлы.
Например, внутри проекта Executor есть файлик Executor_Build.xml. Редактируем.
Находим внутри закомментированный кусок с таким текстом:
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="src"/>
<classpath refid="Executor.classpath"/>
</javac>
Здесь описано включение дебаг информации в jar файлик - debug="true".
Дальше можно видеть, какая именно информация будет включена - debuglevel="${debuglevel}".
Выше в этом файле можно найти, что лежит в переменной debuglevel:
<property name="debuglevel" value="source,lines,vars"/> таким образом номера строк, переменные будут добавлены в дебажную инфу.
Этот кусок кода нужно раскомментировать и заменить им тот javac, который уже есть в файлике. Просто раскомментировать и оставить два куска javac - плохая идея. Ант - штука умная и лишней работы делать не любит :)
Закомментированный код в билд-xml файлах есть в проектах Executor, GenieCom, GeniePlugin, GenieUIRobot. Можно добавить debug="true" debuglevel="${debuglevel}" в <javac> других проектов также.
Теперь осталось только собрать всё.
Открываем командную строку, переходим в каталог с сорцами Genie. Заходим в папку Executor и билдимся:
Сбилдились:
Теперь берём полученный Executor.jar в проекте Executor и подключаем в наш проект.
Дебажим:
В одной из статей я писал, как можно прикрутить исполнение скриптов Genie в ваш проект. Однако, стандартный Executor.jar собран без дебажной информации и, если поставить точку остановки внутри класса Executor.class или где-то ещё глубже внутри классов Genie, то она будет проигнорирована.
Что делать?
Нужно просто стянуть source-файлы Genie и пересобрать все проекты, включив возможность дебага. Самый простой способ пересборки можно сделать антом.
Пошагово:
1. Стягиваем ант с http://ant.apache.org/bindownload.cgi. Устанавливаем.
2. Стягиваем сорцы с http://sourceforge.net/projects/genie.adobe/files/Genie-source.zip/download
3. Распаковываем. Нужные нам проекты будут лежать в папке GenieTool.
4. Находим внутри каждого проекта build-файлы.
Например, внутри проекта Executor есть файлик Executor_Build.xml. Редактируем.
Находим внутри закомментированный кусок с таким текстом:
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="src"/>
<classpath refid="Executor.classpath"/>
</javac>
Здесь описано включение дебаг информации в jar файлик - debug="true".
Дальше можно видеть, какая именно информация будет включена - debuglevel="${debuglevel}".
Выше в этом файле можно найти, что лежит в переменной debuglevel:
<property name="debuglevel" value="source,lines,vars"/> таким образом номера строк, переменные будут добавлены в дебажную инфу.
Этот кусок кода нужно раскомментировать и заменить им тот javac, который уже есть в файлике. Просто раскомментировать и оставить два куска javac - плохая идея. Ант - штука умная и лишней работы делать не любит :)
Закомментированный код в билд-xml файлах есть в проектах Executor, GenieCom, GeniePlugin, GenieUIRobot. Можно добавить debug="true" debuglevel="${debuglevel}" в <javac> других проектов также.
Теперь осталось только собрать всё.
Открываем командную строку, переходим в каталог с сорцами Genie. Заходим в папку Executor и билдимся:
Сбилдились:
Теперь берём полученный Executor.jar в проекте Executor и подключаем в наш проект.
Дебажим:
Комментариев нет:
Отправить комментарий