Что нового

Отладчики/трассировщики для AutoIT (debugger/tracer)

uninstall

Осваивающий
Сообщения
52
Репутация
31
При написании бота столкнулся с проблемой, что код получился довольно громоздкий, и находить ошибки стало довольно трудно. Решил поискать нормальный трасировщик (tracer), но к сожалению нашел лишь несколько autoit скриптов, они находятся во вложениях, и программу AutoIt Debugger, написанную на VB и требующую framework 2. К сожалению скрипты предоставляют довольна мало возможностей отладки, а программа просто не хочет работать с моим кодом.
В настоящий момент я сам пишу такой трассировщик, на autoit кстати ;).
Может быть кто-то знает какие-либо готовые трассировщики, если да, то прошу выложить.
P.S. Под трассировщиком я понимаю программу, которая позволяет проходить загруженный в нее код пошагово с отображением значений переменных на каждом шаге
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Re: Отладчики для AutoIT (tracer)

Трасировщиков не знаю, но было бы любопытно посмотреть на то что у тебя получится :smile:
 

timsky

Осваивающий
Сообщения
93
Репутация
28
Я делал примитивный "дебагер". Смысл его в том, что при исполнении скомпиленного скрипта в TraySetToolTip пишется номер исполняемой строки. Директивы ;NO DEBUG START и ;NO DEBUG END позволяют исключить код из обработки. Обработку переноса строки _ не делал, т.к. никогда не переношу строки.

ЗЫ:
CreatoR его сделал на свой лад, но для скриптов, работающих 24/7/365 его вариант не пойдет. :blum:

PS:
А почему Au3ToPst не пашет?
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
timsky сказал(а):
но для скриптов, работающих 24/7/365 его вариант не пойдет.
Я так попимаю это непрерывно работающие скрипты? И почему для них не подходит твой скрипт?
timsky сказал(а):
А почему Au3ToPst не пашет?
И что такое Au3ToPst?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
uninstall сказал(а):
И что такое Au3ToPst?
Программа для раскраски AutoIt кода под форумы, в свете наличия на форуме
Код:
тэга теряет свою надобность.
 

timsky

Осваивающий
Сообщения
93
Репутация
28
uninstall [?]
Я так попимаю это непрерывно работающие скрипты? И почему для них не подходит твой скрипт?
Мой скрипт как раз и подходит. Вариант CratoR'a - нет.


Belfigor [?]
Программа для раскраски AutoIt кода под форумы, в свете наличия на форуме
Код:
тэга теряет свою надобность.[/quote]

А я и не знал :)
 

timsky

Осваивающий
Сообщения
93
Репутация
28
CreatoR
Насколько я помню:
1) Скрипт медленнее работает.
2) Лог раздуется до невообразимых размеров.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 156
Репутация
2 329
timsky [?]
Скрипт медленнее работает
Да, но это вроде поправимо.

Лог раздуется до невообразимых размеров
Это есмли оставить скрипт работать постояно? но ведь цель отладки не в этом - запустил, проверил, и закрыл ;)
 

timsky

Осваивающий
Сообщения
93
Репутация
28
CreatoR [?]
Это есмли оставить скрипт работать постояно? но ведь цель отладки не в этом - запустил, проверил, и закрыл
Ну назвал я его дебагером, т.к. не придумал ему другого названия. Основная цель - знать, где произошел затык :smile:

Даже 100% вылизаный скрипт нет-нет, да выдаст ошибку по не зависящим от него причинам и потом сиди и гадай, где он запнулся.
Также иногда бывает, что до появления ошибки должно пройти немало времени и лог к тому моменту жууутко разрастется.
Твой вариант дебагера тоже отображает далеко не всю картину происходящего, а для меня, как человека, хорошо знающего свои скрипты, хватает знания строки, на которой произошел сбой.

Единственное, что думаю сделать - так это прикрутить свой вариант дебагера к твоему ErrorHandler'у как будет время.
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
Прошу прощения что прерываю ваше общение, :smile: но мне интересно не отловить ошибке в скрипте, который работает 3 дня, и потом ее выдает, меня интересует прежде всего пошагово пройти всю программу, видя все результаты ветвлений и какое значение принимают какие переменный на каждом шаге, такого скрипта я не нашел. Единственной что более-менее подходит это AutoIt Debugger (см. шапку), но он не хочет работать с моими скриптами. :'(
 

iamreg

Чайник
Сообщения
7
Репутация
0
Есть ещё один отладчик. Временами пытаюсь его использовать. Последний раз заменил мне всю кириллицу в GUI-программе, даже комментарии (хорошо, была возможность отката), и вылетал с ошибкой при вызове процедур по таймеру. С другой стороны, работал устойчивее, чем AutoIt Debugger. Так как программа уже не развивается, подозреваю, есть несовместимость с текущими версиями. Вот бы кто занялся - исходники есть...
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
Она на VB, кто ей займется? Ну не я это точно
 

iamreg

Чайник
Сообщения
7
Репутация
0
Вы о чём? Приведённый мной отладчик реализован на AutoIt.
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
Извини, тупанул, я подумал, что ты про AutoIt Debugger
 

o_nix

Чайник
Сообщения
35
Репутация
1
AutoIt Debugger - неплохой дебагер в нём только два больших минуса
1. Каверканье кирилицы в кракозябры
2. Невозможность что либо отследить если есть какойнибудь повторяющийся цикл

например в gui будет
Код:
While 1
Sleep(100)
WEnd


И весь лог отладчика забьётся этим циклом да так быстро что ничего и увидеть неуспееш
В остальном концепция там очень удобная
Единственное что добавилбы это выполнение кода до указанной строки скрипта, а также рестарт с прокруткой до опред места, бреакпоинты и возможность запуска выделленного куска кода (не целиком весь скрипт а толькко выделенный из него кусочек) и тд и тп... Плюс чтобы была отдельная панелька которая всегда на виду - в ней чтобы отображались все созданные переменные и их текущее значение
В общем кто имел дело с OllyDBG тот поймёт о чём я. :smile:

Прикольно былобы иметь отладчик который невыводилбы одни итеже строки в окно информации... те если строки одинаковые 3-4 подряд то вывод их прекращается ... выводится только одна строка и колличество её повторения... иначе в таком объёме данных утонуть можно :D

uninstall - попробуй установить последнюю версию AutoIT бетку (ура уже небетка :smile:) ... и последний редактор ... прямо из него по F5 запустив скрипт можно произвести первоначальную отладку вылезет окно если чтото нетак ... после исправления непонятных интерпритатору строк можно уже будет в AutoIt Debugger загонять и тестить ...
 
Верх