Значение различных записей в отладочном логе¶
- Table of contents
- Значение различных записей в отладочном логе
- Основные группы записей.
- ERR_MSG
- MAIN_THREAD_LAG
- PLAYER_io
- Get_AudioData
- Create_File
- HOTRES. Горячий резерв
- DDB_UI
- MAIN
- CH_FIXER
- Видео логгер
- FKEEPER. Резервное копирование (Подкачка)
- WAVE_IO. Операции со звуковой картой
- OPEN_AHEAD. Предзагрузка расписаний.
- RETR. Плеер 777 Изменение состояния ретрансляции
- DJINFS. Сообщения файловой системы в отладочном логе
- Вложенные страницы
Лог содержит записи разных типов а произошедших ошибках и просто некоторых событиях. Отладочные логи предназначены в первую очередь для анализа разработчиками ПО и сотрудниками службы поддержки при определении конкретной причины неполадок в работе системы.
Обычно логи сохранятся в каталоге где находится приложение.exe>\DBG_LOG. Файлы логов разбиваются по границам суток и называются приложение_дата_время.txt.
Логи автоматически удаляются через 30 дней или по достижению максимального объема. Детали смотрите в настройках логов: Сервис\Настройки\Доп\Отладочные логи
По историческим причинам структура записей достаточно разнородна. Одна запись в файле лога состоит из нескольких полей, разделенных @. Запись может быть разбита на несколько строк текста. Пример строки лога:
000011E0 @ 26-05-2009, 16:14:11.307 @ @ THREADS @ FINISHED @ LIFE TIME:32.047 @ TCP_DEVICE_MANAGER
Значение полей одной записи в лог-файле приведено в таблице
Номер | Фрагмент | Значение |
1 | 000011E0 | Идентификатор потока, из которого сделана запись. |
2 | 26-05-2009, 16:14:11.307 | Дата и время события. Это локальное время компьютера. |
3 | не используется | |
4 | THREADS | Идентификатор группы записей. Записи одной группы могут быть включены или выключены настройкой отладочного лога. |
5 | FINISHED | Тип сообщения. Обычно короткая строка. Определяет содержимое следующего поля. |
6 | LIFE TIME:32.047 | Сообщение. Может быть разбито на несколько строк символом переноса строки. Собственно то, ради чего сделана запись. |
7 | TCP_DEVICE_MANAGER | Строчное название потока, совершившего запись. Поток с одинаковым ИД (поле 1) в разное время может иметь разное название. |
Основные группы записей.¶
ERR_MSG¶
Включается: Отладочные логи\Опции\Сообщения об ошибках
Группа | Описание |
ERR_MSG | Сообщения об ошибках. В эту группу попадают все сообщения, которые появляются во всплывающем окне системных сообщений. В окне сообщений отображаются только последние 100 записей, а в отладочном логе они сохраняются всегда и полностью. В поле 5 у сообщений данной группы всегда находится тип сообщения: 8 - Ошибка 4 - Предупреждение 2 - Сообщение, обратное ошибке. Например, восстановление связи. 1 - Просто сообщение Error - Ошибка ASSERT - Ошибка селф-теста. |
ADEV_WAVE: Query buffers timeout¶
ERR_MSG @ 8 @ ADEV_WAVE: Query buffers timeout b_in_player=3 b_whdr_done=0 b_cur=1 v1=1 s2=0
Фатальная ошибка в системе воспроизведения звука:Драйвер звуковой карточки перестал возвращать блоки данных.
Синхронно с этим сообщением прекращается воспроизведение звука. Причиной сообщения является некорректная работа драйвера звукового устройства. Обычно проблема устраняется обновлением версии драйвера звукового устройства.
MAIN_THREAD_LAG¶
Включается: Отладочные логи\Опции\Блокировка главного потока
Зависит от: Отладочные логи\Опции\Писать время блокировки главного потока, если оно больше (ms)
TIMER LAG¶
000011A8 @ 19-08-2009, 00:30:05.560 @ @ MAiN_THREAD_LAG @ TIMER LAG @ 5531 @ Main
Сообщает о том, что главный поток приложения был блокирован в течении указанного времени. На примере - 5531 мс ~5.5 сек. Это просто констатация данного факта. Запись появляется, если главный поток был блокирован более 2х секунд. Симптомы:
- не перерисовываются окна или окно приложения закрашивается белым
- не обрабатываются клавиши, мышь (но курсор мыши нормально перемешается), входящие команды ДУ.
- Пользователи называют это - "Приложение зависло (подвисло) на х секунд"
- воспроизведение звука продолжается без проблем, но, если очередь плеера опустеет, а главный поток останется блокированным, то плеер остановится и в эфире возникнет пауза, а в логе появится сообщение STOP SIGNALED. В режиме AUTO по окончании блокировки воспроизведение продолжится, в режиме LIVE - только при старте по времени.
Причиной могут быть:
- Блокировки выполнения, связанные с ожиданием какого либо события (открытие файла, сохранение файла, обращение по сети и пр.), в т.ч., косвенные, через ожидание завершения такой операции в параллельном потоке. Обычно, причину можно найти в отладочном логе.
- Недостаток времени ЦП. Ситуация, когда процессор (точнее, ядро, на котором работает главный поток) загружен на ~100%. Причем не обязательно его загрузил работой именно Джин, Это может быть любой приложение, в т.ч. вредоносное (червь, вирус). Причину в логе не видно, могут быть только неявные косвенные проявления.
PLAYER_io¶
Различные сообщения, касающиеся работы плееров. АВ-плеер не умеет писать данный лог.
Включается: Отладочные логи\Опции\Работа плеера.
Общие поля для всех записей
- CH - канал плеера 0=A, 1=B и т.д.
- ID - идентификатор потока воспроизведения в канале плеера
- AID - внутренний идентификатор элемента в пределах блока расписания
- dur - время выполнения операции в миллисекундах
- FILE - имя файла (оригинального, не резервного)
Доработки
- #2499 В информации об элементах добавлена длительность и runtime
AutoLoadOperation¶
Выполнение операции автоматической загрузки следующего элемента в очередь плеера. Название указывается сразу после длительности.
PLAYER_io @ AutoLoadOperation @ dur:0 News 00_00, AID=3, Duration=00:05.1, Runtime=00:05.1, FILE=\AIR1-WSR\IN-BOX\nov____preserved_4____0_00.wav @ Main
В примере загружен элемент News 00_00 длительностью и рантаймом 00:05.1.
PasteElem¶
Факт внесения элемента в очередь плеера.
PLAYER_io @ PasteElem REASON=SetNextAddToChain, AutoLoad, OnTimer @ News 00_00 AID=E3 FILE=\AIR1-WSR\IN-BOX\nov____preserved_5____0_00.mp3
REASON признаки выполнения операции (обычно, несколько)
- Тип внесения в очередь
- SetNextAddToChain - добавление в хвост очереди
- SetNextClearTail - добавление с очисткой из очереди всех не играющих элементов
- SetNextClearList - добавление с очисткой всей очереди
- AutoLoad - операция выполнена в процессе автозагрузки следующего
- DoPasteBefore - явная вставка в очередь перед определенным элементом
- Причина вызова
- OnObjDrop - это результат Drop операции - мышью. Вмешательство человека.
- OnBtnLoad - это результат нажатия кнопки "загрузить" на плеере. Вмешательство человека.
- OnTimer - обработка таймера (само вызвалось)
- OnAutoChangeSchedule - при переходе через границу суток
OnCueCrossFade¶
PLAYER_io @ OnCueCrossFade @ PL_ID=OBJID_PLAY_X1 @ Main
В плеере запущена прослушка склейки.
Open elem¶
Факт открытия звукового файла для воспроизведения, т.е. начало воспроизведения элемента в плеере. Название элемента указывается после длительности.
PLAYER_io @ Open elem CH=0 ID=124 @ dur:32 090919_Дузь_Россия за неделю AID=D7 FILE=\Air1-wsr\X\ROOT_AIR1-WSR\SND_TMP009-09-21____preserved_7____90919_Дузь_Россия за неделю.tpr
SearchStartPoint¶
PLAYER_io @ SearchStartPoint @ PL_ID=OBJID_PLAY_X1 NAME=One Day Too Late, AID=5, Duration=03:40.1, Runtime=03:21.5, Closed, FILE=\radio.srv\ROOT\SND\MUSIC\Skillet - One Day Too Late.mp3 @ Main
Запущен поиск точки старта.
ShowContextMenu¶
PLAYER_io @ ShowContextMenu @ PL_ID=OBJID_PLAY_X1 REASON=Right mouse click @ Main
Открыто контекстное меню от одного из элементов в плеере.
SetFocusSelElem¶
PLAYER_io @ SetFocusSelElem @ PL_ID=OBJID_PLAY_X1 REASON=Right mouse click NAME=La banquet, AID=B, Duration=01:30.1, Runtime=01:30.1, Closed, FILE=\radio.srv\ROOT\SND\MUSIC\Yann Tiersen - La banquet.mp3 @ Main
На элементе в плеере установлен фокус ввода (например, щелчком мыши).
START¶
Начало воспроизведения в канале плеера - факт запуска канала, до этого канал был остановлен.
PLAYER_IO @ START CH=0 ID=124 OPEN=1 @ 16 : REASON=FADER ON RES=OK
- OPEN=1 - означает, что канал был открыт, то есть это первый поток воспроизведения в канале
- REASON
- FADER ON - фейдер-старт
- AUTO_MODE AutoStartByTime - старт по времени в автоматическом режиме
- AutoStartByTime - старт по времени в не автоматическом режиме
- OnBtnStartNext - по кнопке на плеере
- RES - чем кончилась попытка
- OK - вещание началось
- <не указано> - не получилось. Т.е. RES=
STOP¶
Обратное START - принудительная остановка воспроизведения в канале
STOP SIGNALED¶
PLAYER_io @ STOP SIGNALED CH=0 @ GetData @ Main
Обратное START - естественная остановка вещания в канале по причине завершения очереди воспроизведения во всех потоках воспроизведения.
END OF DATA¶
PLAYER_io @ END OF DATA CH=0 ID=124 @ GetData @ Main
Завершения очереди воспроизведения в одном из потоков в канале
Delete¶
Обратное Paste - удаление элемента из очереди плеера
Delete REASON=AutoDelete2 @ 1.Реклама - Открывашка AID=9 FILE=\radiocity.msft\mediastorage\Media\Commercial\Реклама - открывашка.mp2
- REASON - причина. Частью такая же, как в Paste.
- AutoDelete2 - обычное удаление, после завершения воспроизведения
PLAYER_MODE¶
Текущий режим работы плеера. пишется при любом изменении состояния и один раз в начале каждого часа.
000016F4 @ 06-11-2009, 16:35:08.573 @ @ PLAYER_io @ PLAYER_MODE @ MODE=LIVE AutoNext=1 AutoLoad=1 AutoTime=1 CommNonstop=0 LockRemote=0 REASON=OnBtnLive() @ Main
- MODE : Основной режим (MAN|LIVE|AUTO)
- AutoNext : Запрет/разрешение перехода на следующий элемент
- AutoLoad : Запрет/разрешение автоматической подгрузки в очередь плеера следующего элемента из расписания
- AutoTime : Обработка меток времени
- CommNonstop : Непрерывное воспроизведение рекламных блоков
- LockRemote : Запрет/разрешение дистанционного управления (сигналом фейдер-старт)
- REASON : Причина
Get_AudioData¶
Включается: Отладочные логи\Опции\Время чтения аудио блока.
Зависит от: Отладочные логи\Опции\Писать ’время чтения аудио блока’ только если оно больше (ms).
Содержит единственное безымянное сообщение, пример:
00000EAC @ 17-09-2009, 19:01:20.665 @ @ Get_AudioData @ @ 39687 : WAVE: Axia Wave02 @ ADEV_WAVE:WAVE: Axia Wave02
в котором указывается время заполнения одного блока данных для звукового устройства. В данном случае - 39687 мс (~40 сек) заполнялся один блок данных (стандартной длительностью 0.1 сек). Вещание велось в устройство WAVE: Axia Wave02.
В эфире, при этом была, естественно, пауза.
Данное сообщение не имеет отношения к работе самого аудиоустройства. Сообщение говорит о недопустимо медленном получении звуковых данных из файла. Причины возникновения такого сообщения изложены тут.
Однократное появление такой записи с небольшим таймаутом само по себе не является проблемой. Пауза в эфире возникнет, только если в устройстве воспроизведения опустеет звуковой буфер, стандартно имеющий длину 1 сек (10 блоков по 0.1 сек).
Create_File¶
Группа сообщений, фиксирующих длительность выполнения работы с файлами.
Включается: Отладочные логи\Опции\Время открытия файлов
Зависит от:
-
Отладочные логи\Опции\Писать ’время открытия файла’ только если оно больше (ms)
Запись попадет в лог только если она выполнялась дольше указанного времени. Вне зависимости от результата. -
Отладочные логи\Опции\Записывать сообщения об ошибках открытия файлов игнорируя длительность
Эта опция заставляет лог записывать в лог сообщения о всех неудачно закончившихся файловых операциях. По умолчанию она выключена и включать ее надо только в особых случаях. Сам по себе факт неудачного обращения к файлу не является ошибкой.
Информация о том, какая именно операция вызывает задержки интересна, обычно, только разработчикам. При нормальной работе допускаются единичные таймауты длительностью до секунды.
Запись в логе | Описание |
LockFileEx | Блокировка (!LockFile) файла |
CheckConnectionByHandle | Проверка каталога на его наличие по хендлу |
CheckFolderForFullAccess | проверка на наличие полных прав доступа к каталогу |
ScanFolder | Считывание списка файлов в каталоге |
GetLastWriteTimeA | Прямое считывание даты модификации из файла |
DBGLS_CreateFile_UNC | Открытие файла |
DBGLS_CreateFile_FK | Открытие файла, возможно с переключением на файлы резерва |
CreateFileMapping | Открытие для отображения в ОЗУ |
MapViewOfFile | Отображение в ОЗУ |
BuildInterface | Создание звукового источника: открытие файла и и считывание информации о формате, создание декодера и пр. |
ISoundFileXA | Создание декодера MPEG |
FindFirstFile_UNC | Начало перебора файлов в каталоге |
HOTRES. Горячий резерв¶
Переключение состояний модуля горячего резерва.
000008B0 @ 11-11-2009, 16:14:00.462 @ @ HOTRES @ OBJID_MASTER @ SendSetMode=RES OtherStationAutoMode=1 REASON=Manual @ Main
Главная станция послала на резервную запрос запрос на переключение режима.
00001730 @ 11-11-2009, 16:14:00.462 @ @ HOTRES @ OBJID_SLAVE @ MODE MAIN->RES OtherStationAutoMode=1 REASON=MSG_CMD_SET_MODE @ TCP_MANAGER
Переключение режима
00000ED4 @ 11-11-2009, 16:13:57.852 @ @ HOTRES @ OBJID_MASTER @ OtherStationAutoModeChanged 0->1 @ TCP_MANAGER
Переключение автоматического режима плеера на другой стороне.
- OtherStationAutoMode - Плеер на другой стороне в автоматическом режиме, то есть готов стартовать с текущей позиции.
- REASON - причина
DDB_UI¶
Сообщения о действиях с пользовательским интерфейсом модуля DDB.
Включается: Отладочные логи\Опции\Пользовательский интерфейс DDB
Логируются операции на панели DDB и в списке соединений.
Сообщения бывают двух видов:
Не связанные с выбранным соединением, вида:
DDB_UI @ ИСТОЧНИК @ Сообщение; REASON: причина @
например:
00002B0C @ 11-04-2017, 11:43:11.479 @ @ DDB_UI @ OBJ_DDB @ On selected, 0 -> 1; REASON: SYSTEM @ Main
00002B0C @ 11-04-2017, 11:43:18.620 @ @ DDB_UI @ CONNECT_LIST @ On add connection; REASON: USER @ Main
Связанные с выбранным соединением:
DDB_UI @ ИСТОЧНИК @ Сообщение; CONN: название соединения; REASON: причина @
например:
00002B0C @ 11-04-2017, 11:43:39.020 @ @ DDB_UI @ OBJ_DDB @ On start; CONN: NewConnect; REASON: USER @ Main
00002B0C @ 11-04-2017, 11:43:47.100 @ @ DDB_UI @ CONNECT_LIST @ On connection properties; CONN: NewConnect; REASON: USER @ Main
В поле "источник" указывается группа элементов интерфейса, от которой исходит сообщение. Возможные занчения:
- OBJ_DDB - панель управления DDB,
- CONNECT_LIST - список соединений
В поле "название соединения" указывается пользовательское название выбранного в списке соединения.
В поле "причина" - причина операции: либо USER (действие пользователя), либо SYSTEM (внутренняя логика программы).
Возможные сообщения:
Запись в логе | Описание |
LockFileEx | Блокировка (!LockFile) файла |
On add connection | Создание нового соединения |
On import connection | Импорт соединения |
On start | Старт выбранного соединения |
On stop | Остановка выбранного соединения |
On delete connection | Удаление выбранного соединения |
On export connection | Экспорт выбранного соединения |
On connection properties | Открытие свойств выбранного соединения |
On start all | Нажата кнопка "стартовать все" |
On stop all | Нажата кнопка "остановить все" |
On refresh | Вызвано обновление состояния соединений |
On locked, X -> Y | Изменение режима Lock с X на Y |
On selected, X -> Y | Изменение режима Select с X на Y |
On log type: %d -> %d | Изменение режима Log type с X на Y |
On status type changed | Изменение режима отображения соединений |
Примечание: в текущей реализации REASON: SYSTEM в типе сообщений DDB_UI появляется по событиям только от 2х кнопок в окне DDB: Selected, Refresh.
MAIN¶
Группа сообщений о некоторых "основных" событиях.
Включается: Отладочные логи\Опции\Основной
SCHEDULE UPDATE¶
С версии 2.15.2. Информация о фоновом считывании изменений, внесенных в расписание с других рабочих мест. Вносится в лог в случае, если программа заметила (получила нотификацию от системы отслеживания файлов, см. [#CH_FIXER CH_FIXER, что изменился файл блока расписания, считала этот блок и действительно внесла в расписание изменения. При этом в логе фиксируется только название файла блока и версия файла (счетчик модификаций). Само содержимое блока в этот лог не попадает. Содержимое, соответствующее определенной версии можно посмотреть в Логе редактирования расписания.
Если программа явно считала изменения, например, при редактировании блока, то данная запись в логе не формируется.
Примеры записей:
00004A8 @ 10-12-2010, 12:31:07.336 @ @ MAIN @ SCHEDULE UPDATE @ Changes in schedule:
Diff:
Old: 2010-12-10, 12:26:50:361, Ver= 2, File= \Sql-srvr\F\ROOTS\PT\PLAYLIST010-12-100279A0A.blk
New: 2010-12-10, 12:31:05:258, Ver= 3, File= \Sql-srvr\F\ROOTS\PT\PLAYLIST010-12-100279A0A.blk
В каждой записи отводится по одной строке для блока, строк может быть много. В каждой строке указывается тип изменения: New - появление блока, Diff - изменение, Del - удаление.
В записи указывается:
- Дата модификации файла блока, приведенная к локальному времени
- версия блока (кол-во редактирования блока)
- Имя файла блока
При изменении указываются новые и старые значения.
CH_FIXER¶
С версии 2.15.3. #2104 добавлена группа сообщений, относящихся к системе отслеживания изменений в файловой системе.
Включается: Отладочные логи\Опции\Система отслеживания изменений в файловой системе.
Информация о том, какая именно операция вызывает задержки интересна, обычно, только разработчикам.
При нормальной работе допускаются единичные таймауты длительностью до секунды (по умолчанию установлено значение "Нет").
Запись в логе | Описание |
ProcessNotify | Анализируем полученные изменения и рассылаем нотификацию. В сообщении информация о том какая сообщения обрабатывались на предмет того, нужно ли посылать нотификацию. |
CompareState | Операция считывания каталога и сравнения с хранимой копией на предмет обнаружения изменений |
FullRefresh | Принято решение о полном перечитывании каталога. Причина может быть: NeedFill=1 - начальная инициализация или инициализация после ошибки undefined_notify=1 - получена нотификация об изменениях без указания подробностей |
ReceiveNotify | Получаем нотификации от системы. В сообщении информация о том какая нотификация была получена. О каком файле и что с ним произошло. |
NewElement | Отправлена нотификация о новом элементе |
DelElement | Отправлена нотификация об удалении элемента |
SameElementNochange | Состояние элемента не изменилось. Нотификация не отправлена. |
SameElementChanged | Отправлена нотификация об изменении элемента |
SameElementAttribsChanged | Отправлена нотификация об изменении атрибутов элемента |
AddWish | Добавлен запрос на отслеживание изменений в каталоге |
DelWish | Удален запрос на отслеживание изменений в каталоге |
В дополниельной строке кажного сообщения указывается адрес объекта запроса на отслеживание каталога (WISH_ADDR=%Xh) и путь к отслеживаемому каталогу (Dir=full path)
Видео логгер¶
Группа сообщений, фиксирующих возникшие ошибки, события, сообщения от графа.
Включается:
- Отладочные логи\Опции\Видео логгер: ошибки
- Отладочные логи\Опции\Видео логгер: события
- Отладочные логи\Опции\Видео логгер: сообщения от графа
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Error @ TV_2 @ Deadlock @ 8 @ Main
Система попала в ситуацию, когда она не получила данных от устройства видео захвата. 8 - это количество таких ситуаций.
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Event @ TV_2 @ disconnect Bridge @ Main
Произошло разъединение моста между получающим и записывающим графами.
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Graph @ TV_2_Write @ 058053C8 @ Stop @ Main
Остановка записывающего графа
00000AF4 @ 29-12-2009, 23:52:13.296 @ @ VLogger: Graph @ TV_2_Write @ 058053C8 @ Destroy @ Main
Уничтожение записывающего графа.
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Error @ TV_2 @ Deadlock @ 8 @ Main
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Event @ TV_2 @ disconnect Bridge @ Main
00000AF4 @ 29-12-2009, 23:52:12.765 @ @ VLogger: Graph @ TV_2_Write @ 058053C8 @ Stop @ Main
00000AF4 @ 29-12-2009, 23:52:13.296 @ @ VLogger: Graph @ TV_2_Write @ 058053C8 @ Destroy @ Main
Это всё говорит о том, что от устройства видео захвата перестали приходить данные.
В результате чего, при поступлении данных на устройство видео захвата, это приведёт к появлению нового файла в записи.
FKEEPER. Резервное копирование (Подкачка)¶
Записи данного типа вносит в лог система резервного копирования на локальный диск.
Включается: Отладочные логи\Опции\Система подкачки файлов
Существуют записи следующих типов
Запись | Значение |
Begin copy | Система начала фоновое копирование указанного исходного файла |
End copy | Система закончила копирование исходного файла |
Final copy | Система закончила формирование резервной копии фала, только при успешном завершении EndCopy |
Del file | Система удаляет файл, время нахождения которого в кеше подкачки истекло |
Например:
0000079C @ 18-11-2010, 15:50:21.692 @ @ FKEEPER @ Del file @ FAIL, LastEror=32, [\Dc3\ROOT\SND\Rolik Storm8-1.wav] -> [D:\Reserv\Dc3\ROOT\SND\Rolik Storm8-1.wav] @ F_KEEPER
Для всех записей указывается успех/ошибка завершения, исходный и результирующий файлы и код ошибки в случае ее наличия.
WAVE_IO. Операции со звуковой картой¶
Записи данного типа относятся к подсистеме воспроизведения/записи звука, включая все варианты обмена: стандартный, SP, ASIO.
Основное назначение - фиксация в логе низкоуровневых ошибок, а также, фиксация в логе фактов, когда операция выполняется долго.
Включается: Отладочные логи\Опции\Операции со звуковой картой.
Зависит от: Отладочные логи\Опции\Писать время операции со звуковой картой, если оно больше (ms)
Обычной записью является название выполняемой операции и ее результат и время выполнения. По умолчанию, отсечка записи о времени выполнения равна 50 мс.
При нормальной работе не должно быть ошибочных записей. Допускается однократное появление записей о длительных операциях, незначительно превышающих порог.
Пример:
- Операция открытия звуковой карты Realtek HD Audio output выполнялась 63 мс.
00000E7C @ 29-10-2010, 18:21:53.490 @ @ WAVE_IO @ waveOutOpen @ 63 : WAVE: Realtek HD Audio output
- Отправка звукового буфера в карту Livewire In 03 (AXIA IP-Driver завершилась с ошибкой. Код ошибки = 6 (код отображается 16-ричной системе счисления).
00000458 @ 14-12-2010, 18:49:37.555 @ @ WAVE_io @ waveInAddBuffer @ 0 : WAVE: Livewire In 03 (AXIA IP-Driver
ERR=6h @ ADEV_WAVE:WAVE: Livewire In 03 (AXIA IP-Driver
Описание кода ошибки можно найти тут.
OPEN_AHEAD. Предзагрузка расписаний.¶
Записи данного типа относятся к системе предзагрузки расписаний
Включается: Отладочные логи\Опции\Предзагрузка расписаний. По умолчанию - включено.
- Prepare
Говорит о факте смены/применения настроек. В логе предвараятся всеми, загружаемыми на момент смены настроек, расписаниями. - Opened, Empty
Записи в процессе Prepare. Empty - расписание пока пустое, Opened - уже загруженное - Read completed
Запись о том, что раписание было успешно считано. - Close
Расписание былот зкрыто по причине его устаревания - Missed schedule
Ошибка. Считанное расписание не найдено. Не должно возникать. - Already exist
Ошибка. Расписание неожиданно оказалось уже считанным. Не должно возникать.
RETR. Плеер 777 Изменение состояния ретрансляции¶
При переходе плеера в режим ретрансляции в лог вносится запись вида
00000DB8 @ 02-02-2015, 13:28:02.941 @ @ RETR @ RETR_ON @ Reason: Process(1) Last item in player finished @ Main
При завершении ретрансляции в лог вносится запись вида:
00000DB8 @ 02-02-2015, 13:28:03.878 @ @ RETR @ RETR_OFF @ Reason: PlayPtr(0), DoOnBtnRetr(from_pattern=0), PressBtnRetr, ProcessKey @ Main
В теле сообщения указывается причина перехода на ретрансляцию или возврата.
Переход | Сообщение | Пояснения |
RETR_ON | Process(1) Last item in player finished | Очередь воспроизведения в плеере закончилась |
RETR_ON | Process(2) Signal OK | Восстановился сигнал в ретранслиуемом канало |
RETR_OFF | Process(3) No signal | Пропал сигнал в ретранслируемом канале |
RETR_OFF | PlayPtr(0), DoOnBtnRetr(from_pattern=0), PressBtnRetr | Запущено воспроизведение плеера по команде оператора |
DJINFS. Сообщения файловой системы в отладочном логе¶
Логгирование файловых операций заносит в отладочный лог записи примерно такого вида:
000025CC @ 25-03-2015, 19:05:38.821 @ @ DJINFS @ implLocalFS::OpenFile @ (FS::GetLastWriteTime): File='e:\_gin-o-drom\root_2.16_video\ShPar.ini' Access=0h ShareMode=3h Disp=3h FlagsAttrs=20000080h timeout=0 oflags=Ch SysErrorCode=0(Операция успешно завершена. ) handle=00001F9Ch index=7 duration=2668 millisecs @ SH_PARAM_FILE_FileWatcher
или
000026F4 @ 25-03-2015, 17:28:00.928 @ @ DJINFS @ implLocalFS::OpenFile @ (FILE_CONTAINER::OpenFile): File='e:\_gin-o-drom\root_2.16_video\init_connect.sql' Access=80000000h ShareMode=1h Disp=3h FlagsAttrs=80h timeout=0 oflags=Eh SysErrorCode=2(Не удается найти указанный файл. ) duration=0 millisecs @ Main
Все сообщения файловой системы помечены идентификатором DJINFS после поля времени. Само сообщение содержит имя выполняемой операции, в скобках далее - имя метода, откуда операция вызвана (если эта информация есть), кратко - значения существенных аргументов, код ошибки (SysErrorCode) с расшифровкой и длительность выполнения операции в миллисекундах (duration). Последние два поля есть почти всегда, если это сообщение об ошибке или о превышении длительности, есть только небольшое количество общих информационных сообщений файловой системы, в которых эти поля отсутствуют, например:
000026F4 @ 25-03-2015, 17:27:53.708 @ @ DJINFS @ implFS::implFS @ root file system object has been created @
000026F4 @ 25-03-2015, 17:27:53.708 @ @ DJINFS @ implLocalFS::implLocalFS @ file system object has been created: access via Win32 API @
Управление¶
В 2.16.x лог файловой системы управляется с помощью двух опций на вкладке "Доп" локальных параметров, раздел "Отладочные логи"/"Опции":
- "Операции DJinFS"
- "Записывать в лог ‘время выполнения операции с файлом’ только если оно больше (ms)"
Сообщения об ошибках выполнения файловых операций в лог попадают всегда. Также, сообщения попадают в лог всегда, когда их длительность выполнения превосходит значение, заданное второй опцией из перечисленных выше. Для остальных вызовов файловых операций (т.е. окончившихся успехом и не превысивших указанную длительность) первый параметр задаёт уровень логгирования: если логгирование операции разрешено, то сообщение попадает в отладочный лог. Включив самый верхний уровень, можно увидеть вообще всю работу Джина с файлами. На самом нижнем уровне в логе будут только сообщения об ошибках. Нижний уровень включен по умолчанию.
Опции
- "Лог времени выполнения операций с файлами"
- "Записывать в лог сообщения об ошибках файловых операций игнорируя длительность"
использовались в предыдущих версиях Джина, это атавизмы устарешего лога сообщений об ошибках файловой системы. Первая отключала лог файловых сообщений вообще, вторая позволяла отключить сообщения об ошибках для операций, которые завершились с ошибкой, но во временной лимит уложились. В старой системе логгирования остальные сообщения (успешные операции) отсутствовали. В 2.16.х исторически осталось немного сообщений, которые ими управляются, обе опции рекомендуется ставить в положение "Да". Сообщения старого типа записываются в лог с префиксом Create_File. Пример:
00002210 @ 16-05-2014, 18:33:07.690 @ @ Create_File @ ScanFolder @ ERR= 3: E:\tmp\logger014-05-17\??-??-??.mp? @ Main
00002950 @ 06-06-2014, 16:34:47.503 @ @ Create_File @ BuildInterface @ 143932 : 'D:\_media\base\audio\TPR_DJin\Astor Piazzolla (long).tpr' CH=-1 @ CAF_CONVERTDlg
000028AC @ 06-06-2014, 14:46:38.071 @ @ Create_File @ GetLastWriteTime @ 635 : 'D:\temp\xxx\Dude.mp3' SUCCESS @ CAF_CONVERTDlg
Вложенные страницы¶