Страница 1 из 2

Отладка

Добавлено: Вт янв 19, 2016 5:31 pm
ILGAS
Наверно обращаюсь большей части к Сергею,
я программирование знаю на уровне школы или училища, я могу читать простой код, повторить или подправить для своих целях, но когда код не отрабатывается как нужно, сразу мозг в раскоряку.
Вот и вопрос: есть ли у MajorDoMo режим отладки, как можно остановить скрипт или пройти пошагово по коду. например как Си+ или Visual Basic

Re: Отладка

Добавлено: Вт янв 19, 2016 5:40 pm
sergejey
Боюсь, что таких функций нет и я, честно говоря, не могу сходу сообразить, как такое реализовать. Как вариант, я бы рекомендовал вставлять вызовы debmes вокруг проблемных частей кода, чтобы через лог-файлы отлавливать ошибки и промежуточные значения.

Re: Отладка

Добавлено: Вт янв 19, 2016 7:53 pm
ILGAS
sergejey писал(а):Боюсь, что таких функций нет и я, честно говоря, не могу сходу сообразить, как такое реализовать. Как вариант, я бы рекомендовал вставлять вызовы debmes вокруг проблемных частей кода, чтобы через лог-файлы отлавливать ошибки и промежуточные значения.
Сергей, а как этим пользоваться и запустить? нашел про debmes очень мало, и то без примеров.

Re: Отладка

Добавлено: Вт янв 19, 2016 9:23 pm
sergejey
В любом месте кода делаете

Код: Выделить всё

DebMes("какое-то тестовое сообщение"); 
и в разделе XRay, подразделе Debug видите это сообщение в списке.
Можно туда же выводить какие-то данные по свойствам:

Код: Выделить всё

DebMes("Значение свойства: ".getGlobal('MyObject.MyProperty')); 

Re: Отладка

Добавлено: Вт янв 19, 2016 10:20 pm
ILGAS
sergejey писал(а):В любом месте кода делаете

Код: Выделить всё

DebMes("какое-то тестовое сообщение");
и в разделе XRay, подразделе Debug видите это сообщение в списке.
Можно туда же выводить какие-то данные по свойствам:

Код: Выделить всё

DebMes("Значение свойства: ".getGlobal('MyObject.MyProperty'));
я добавил в Метод код
DebMes("как");
DebMes("свойства: ".getGlobal($params['status']));

результат в логе

20:00:02 DEBUG [root]: Executing (exclusive): C:\_majordomo\htdocs/rc/madplay.exe C:\_majordomo\htdocs/cached/voice/2c319ec05057d2628bf37aa2840b1ace_ya.mp3 (at C:\_majordomo\htdocs\lib\general.class.php:547)
23:15:05 DEBUG [root]: JAVASCRIPT Error: URL: http://dom.no-ip.biz/js/codemirror/lib/codemirror.js - Uncaught TypeError: n.getAttribute is not a function; line: 2760 (at C:\_majordomo\htdocs\lib\general.class.php:547)
23:15:15 DEBUG [root]: JAVASCRIPT Error: URL: http://dom.no-ip.biz/js/codemirror/lib/codemirror.js - Uncaught TypeError: n.getAttribute is not a function; line: 2760 (at C:\_majordomo\htdocs\lib\general.class.php:547)
22:15:30 DEBUG [root]: как (at C:\_majordomo\htdocs\lib\general.class.php:547)
22:15:30 DEBUG [root]: свойства: (at C:\_majordomo\htdocs\lib\general.class.php:547)

и что это значит?

Re: Отладка

Добавлено: Вт янв 19, 2016 11:59 pm
Xseon
Скорее всего у Вас не запустился этот метод, по-этому в дебаге пусто.
Метод вызывали напрямую?

Re: Отладка

Добавлено: Ср янв 20, 2016 12:08 am
ILGAS
Xseon писал(а):Скорее всего у Вас не запустился этот метод, по-этому в дебаге пусто.
Метод вызывали напрямую?
Да через кнопку test

Отправлено с моего SM-G7508Q через Tapatalk

Re: Отладка

Добавлено: Ср янв 20, 2016 12:31 am
Xseon
Только что проверил, вышеописанный вариант отработал на ура...
И отдельно текст и переменную вывел...
Думаю данная функция давно живет в МД, так что не предлогаю обновиться...

Re: Отладка

Добавлено: Ср янв 20, 2016 12:32 am
ILGAS
Xseon писал(а):Только что проверил, вышеописанный вариант отработал на ура...
И отдельно текст и переменную вывел...
Думаю данная функция давно живет в МД, так что не предлогаю обновиться...
обновлялся вчера.

Re: Отладка

Добавлено: Ср янв 20, 2016 3:38 pm
sergejey
Эта функция с "начала времён" :) Так что если ничего не пишется, то видимо всё же до этого кода дело не доходит.