Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (13): В начало « 2 3 4 5 [6] 7 8 9 10 » В конец    

> Описание: Логирование работы в реальном времени. Вывод строки кода при ошибке в скрипте. Просмотр лога при вылете программы. Запись переменных во время работы
007wan
Отправлено: 04 Мая, 2019 - 09:50:10
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Kibor , Спасибо за обновление и добавление лога. Однако, не слушаются галочки "Поверх окон", потому что она при запуске и так поверх всех, а при включении/отключении этой функции ничего не происходит. Так же и с "Прокручивать вниз". Надеюсь в скором времени вы это исправите и тогда будет просто класс.
(Добавление)
И предлагаю добавить опцию что-то вроде "очистить лог" или при запуске скрипта очищаться будет или при открытии нового скрипта из файла непосредственно из Kibor
(Добавление)
Я в курсе про виды отладок, но тут если ошибка и программа ее обработала и вывела до того как запустится скрипт, то в лог ничего не запишется и мне почему-то кажется, что это не имеет смысла. НУ смотри если ошибки выводятся в диалог до запуска скрипта, то ошибок следовательно не может быть по мере работы кода.
(Добавление)
Вот если бы не выводил ошибки до запуска скрипта, а запускал его с ошибками, а уже потом по мере работы показывал в логе где ошибка, то было бы чудесно.
 
 Top
Zireael
Отправлено: 04 Мая, 2019 - 10:34:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Однако, не слушаются галочки "Поверх окон"

Хорошо бы читать всё что написано, а не через строчку:
 Цитата:
Нижние кнопки пока не работают.

 Цитата:
если ошибки выводятся в диалог до запуска скрипта, то ошибок следовательно не может быть по мере работы кода.

Пример вообще-то приведён, когда скрипт запускается, а потом вылет на findimage.
 Цитата:
запускал его с ошибками

Нет смысла запускать скрипт с синтаксическими ошибками, их надо сразу исправлять.

Добавить бы ещё возможность отображать значения переменных, т. е. вместо этого:
 Цитата:
textout ( i , x , y , " текст " , 1 )

так:
 Цитата:
textout ( i(0) , x(300) , y(500) , " текст " , 1 )

Сразу будет видно, что i = 0, x=300, y=500.
 
 Top
007wan
Отправлено: 04 Мая, 2019 - 10:38:40
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , Спасибо. Понял.
 
 Top
Kibor
Отправлено: 05 Мая, 2019 - 01:27:23
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 007wan пишет:
Я в курсе про виды отладок, но тут если ошибка и программа ее обработала и вывела до того как запустится скрипт, то в лог ничего не запишется и мне почему-то кажется, что это не имеет смысла. НУ смотри если ошибки выводятся в диалог до запуска скрипта, то ошибок следовательно не может быть по мере работы кода.

Лог пишется ДО выполнения этой команды.
Кибор на этом этапе еще не выполнил эту команду, а в лог она записывается. А если на этой команде Кибор вылетел, то в логе естественно будет последней строчкой команда которая вызвала вылет.

 Zireael пишет:
Добавить бы ещё возможность отображать значения переменных, т. е. вместо этого:

Это проблематично. Так как на самом деле Кибор выполняет совсем другие инструкции. В лог пишется просто код, который сопоставляется с этим набором инструкций. До выполнения их. И там просто нет той информации.
Я конечно думал как сделать такую опцию. Возможно в дальнейшем я придумаю как правильно реализовать просмотр лога конкретно в значениях в переменных.
 
 Top
Skycrew
Отправлено: 05 Мая, 2019 - 09:15:17
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июль 2014  
Репутация: 0




Вот этого функционала очень давно н хватало!

Планируешь добавить такую отладку (с логом) для собранных .exe ?
 
 Top
Kibor
Отправлено: 05 Мая, 2019 - 09:18:57
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Skycrew пишет:
Планируешь добавить такую отладку (с логом) для собранных .exe ?

Нет. Незачем тратить ресурсы при работе exe. Отлаживать надо до сборки.
 
 Top
Kibor
Отправлено: 05 Мая, 2019 - 17:07:32
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Zireael пишет:
CODE:
// не одно и тоже отобразит
for(int i=0; i<5; i++)textout(0, 300, 300, format(i), 1);
for(int j=0; j<5; j++){textout(0, 300, 300, format(j), 1);}


Исправил.
Теперь выводит полностью корректно любые циклы.

Такой код
CODE:
int e=0;
for (int i=0; i<2; i++) e++;
loop(2) sleep(5);
if (5==2)e=55555;
else e=22222;


Получит такой лог
 Цитата:
int e = 0
for ( int i = 0 ; i < 2 ; i ++ )
e ++
e ++
loop ( 2 )
sleep ( 5 )
sleep ( 5 )
if ( 5 == 2 )
e = 22222


После for, loop, if и тд. не выводится строка команды, даже если она идет без {}
К примеру в коде
if (5==2)e=55555;
else e=22222;
В лог запишется так
if ( 5 == 2 )
e = 22222
То есть сначала покажет что была проверка или 5==2, а потом условие неправда и покажет что выполнилось то что в else

================

Код
CODE:
int e;
for (int n=0; n<5; n++)//2
{
if (n==2)//3
{
for (int n1=0; n1<2; n1++)e=55;
}
}


Лог
 Цитата:
for ( int n = 0 ; n < 5 ; n ++ )
if ( n == 2 )
if ( n == 2 )
if ( n == 2 )
for ( int n1 = 0 ; n1 < 2 ; n1 ++ )
e = 55
e = 55
if ( n == 2 )
if ( n == 2 )


============================

код
CODE:
for (int n=0; n<1000; n++)//2
{
if (n==5)break;//если 6 цикл
}


лог
 Цитата:
for ( int n = 0 ; n < 1000 ; n ++ )
if ( n == 5 )
if ( n == 5 )
if ( n == 5 )
if ( n == 5 )
if ( n == 5 )
if ( n == 5 )
break
 
 Top
Kibor
Отправлено: 05 Мая, 2019 - 19:18:08
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Пример отлова ошибки в скрипте.
К примеру скрип с этой темы Поиск окна по неполному названию
Я в нем сделал ошибку в функции
FindWindowEx, указав последний параметр -1, что приведет к краху программы.
Испорченный скрипт. Ошибка обозначена красным:
 Цитата:
//подключаем ф-и WinApi
external(INT, "FindWindowEx", "FindWindowExA", "user32.dll");
external(VOID, "GetWindowText", "GetWindowTextA", "user32.dll");

function findprocess (string str)
//прописываем ф-ю. ищет запущенный процесс по неполному названию
//находит первый попавшийся при точном совпадении
//возвращает полное название первого найденного процесса
//чем длиннее будет строка поиска тем больше шанс что найдется нужный процесс
{
char chrstr[256];
strcpy (#chrstr[0], str);
char buffer[512];
int strsize, bufsize;
strsize = size (#chrstr[0]);
string processname = "Процесс не найден"; // что оставить в случае не нахождения
int hWnd = FindWindowEx (0, 0, 0, 0);
int s = 0;
int exitwhile = 0;
while (hWnd != 0 && exitwhile == 0)
{
buffer[0] = formatic (0);
GetWindowText (hWnd, address (#buffer[0]), 512);
bufsize = size (#buffer[0]);
s = 0;
for (int i = 0; i < bufsize - strsize + 1; i++)
{
for (int j = 0; j < strsize; j++)
{
if (chrstr[j] == buffer[i + j]) s++;
else { s = 0; j = strsize; }
}
if (s == strsize)
{
processname = format (#buffer[0]);
i = bufsize;
exitwhile = 1;
}
}
hWnd = FindWindowEx (0, hWnd, 0, -1);
}
return processname;
}

//запускаем
string strinput = input ("Какой процесс искать?");
messagebox (findprocess (strinput));


Приведет к вылету Кибор. В логе последняя строка будет указывать на ошибку:
 Цитата:
hWnd = FindWindowEx ( 0 , hWnd , 0 , - 1 )
 
 Top
Skycrew
Отправлено: 06 Мая, 2019 - 01:54:56
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июль 2014  
Репутация: 0




 Kibor пишет:
 Skycrew пишет:
Планируешь добавить такую отладку (с логом) для собранных .exe ?

Нет. Незачем тратить ресурсы при работе exe. Отлаживать надо до сборки.


Допустим работает несколько собранных ботов и случаются ошибки (редко но метко..), хочется знать в чем там дело. И еще если сразу несколько exe-ботов работают в связке, такое в оболочке не сделать(

(Отредактировано автором: 06 Мая, 2019 - 01:55:43)

 
 Top
Kibor
Отправлено: 06 Мая, 2019 - 19:31:17
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Обновил программу и Debugger



Возможности:
Логирование работы в реальном времени и Просмотр лога при вылете программы.
Определение строки кода при крахе Кибор.
Установка пауз между выполнением строк кода.

При включение галки Кибор должен сам загрузить Debugger.
Если этого не произошло необходимо скачать Кибор с (для просмотра ссылки Вам необходимо авторизоваться)
Для того что бы убрать нагрузку на процессор можно снять галку Вести лог в реальном времени. После этого можно в любой момент нажать кнопку Показать лог и он выведется.

Все функции работают. Размер окна меняется.
 
 Top
Страниц (13): В начало « 2 3 4 5 [6] 7 8 9 10 » В конец
Сейчас эту тему просматривают: 9 (гостей: 9, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by