Модуль для вывода отладочной информации

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Mon 17 Feb, 2014 09:54

Latest post of the previous page:

Предлагаемый выше вариант учитывает оба случая.

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Mon 17 Feb, 2014 10:12

John Doe wrote:Предлагаемый выше вариант учитывает оба случая.
Не обратил внимание на скобки в return dbgfilter() :oops:
Разум когда-нибудь победит.

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Tue 18 Feb, 2014 19:46

Идея выводить имя файла и номер строки мне понравилась. Но к функции dbgprintfrom сразу захотелось добавить для комплекта dbgprintffrom. Но увеличение количества функций не радует, тем более ещё много вариантов можно придумать.
С другой стороны - если выводить имя файла, так по имени можно и фильтр для DebugView задавать.

По этому так, версия 1.03
- Модуль теперь возвращает таблицу.
- Добавлена функция очистки окна логов dbgclear.
- Фильтр можно задавать числом, 0 - выводим имя lua-файла, вызвавшего функцию, 1 - выводим имя и номер строки.

П.С.
А что, первый пост больше не закрепляется?
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Tue 18 Feb, 2014 19:55

Smitis wrote:С другой стороны - если выводить имя файла, так по имени можно и фильтр для DebugView задавать.
Получится не очень удобно (хоть я фильтры не использую, но...)
Во-первых вывод может быть из разных файлов.
Во-вторых при отладке разных файлов фильтр придётся постоянно менять
Smitis wrote:А что, первый пост больше не закрепляется?
http://forum.farmanager.com/viewtopic.php?f=10&t=8293

User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Tue 18 Feb, 2014 20:17

1. dbgclear - фильтр для этой команды не нужен
2. dbgprint - надо избавиться от ipairs

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Tue 18 Feb, 2014 20:42

1. А иначе не сработает.
2. Я понимаю, что без ipairs цикл быстрее, но зачем-то же его придумали...
Получится не очень удобно (хоть я фильтры не использую, но...)
Я использую, но не по имени файла. Просто сама идея с выводом имени файла понравилась. Может потом третий параметр добавлю...
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Tue 18 Feb, 2014 20:46

1. А иначе не сработает.
Интересно. Я с фильтром не пробовал, значит вам виднее.
Smitis wrote:2. Я понимаю, что без ipairs цикл быстрее, но зачем-то же его придумали...
Вы не уловили проблему.
ipairs не сможет правильно обработать массив содержаший значения nil
Выше под спойлером приводился пример.

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Wed 19 Feb, 2014 07:19

John Doe wrote:ipairs не сможет правильно обработать массив содержаший значения nil
- fixed
+ пустой список в print
Во-вторых при отладке разных файлов фильтр придётся постоянно менять
В DebugView можно перечислить несколько значений для фильтра через точку с запятой.
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Wed 19 Feb, 2014 18:37

Smitis wrote:- fixed
+ пустой список в print
?
Последний раз редактировалось Smitis Вт 18 фев, 2014 21:37
Smitis wrote:В DebugView можно перечислить несколько значений для фильтра через точку с запятой.
Это не избавляет от необходимости задавать эти несколько (и их набор тоже будет меняться)

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Wed 19 Feb, 2014 20:14

Куда-то изменения подевались :unknown:
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 11074
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: Модуль для вывода отладочной информации

Post by John Doe » Fri 21 Feb, 2014 23:13

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362(v=vs.85).aspx wrote:OutputDebugStringW converts the specified string based on the current system locale information and passes it to OutputDebugStringA to be displayed. As a result, some Unicode characters may not be displayed correctly.
Выходит что нет особого смысла использовать OutputDebugStringW?

P.S.
Попался консольный логгер: http://alter.org.ua/ru/soft/win/dbgdump/

Smitis
Posts: 1440
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

Re: Модуль для вывода отладочной информации

Post by Smitis » Sat 22 Feb, 2014 08:46

Действительно, юникодный символы конвертятся в обычные или в вопросительные знаки.
Выходит что нет особого смысла использовать OutputDebugStringW?
А вдруг в следующей версии Винды задействуют как положено?
Разум когда-нибудь победит.

gene.pavlovsky
Posts: 157
Joined: Tue 11 Aug, 2015 16:53
Has thanked: 11 times

Модуль для вывода отладочной информации

Post by gene.pavlovsky » Wed 09 Nov, 2016 21:15

Отличный модуль, мне понравилось.

Post Reply

Return to “Обсуждение макросов”

Who is online

Users browsing this forum: No registered users and 8 guests