Opened 8 years ago

Closed 8 years ago

Last modified 6 years ago

#193 closed баг (fixed)

Лог программы невозможно прочитать

Reported by: alx Owned by: dimag
Priority: minor Milestone: 2 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords:
Cc: san

Description

Лог программы невозможно прочитать:


Исправлению подлежит при принятии отрицательного решения по #162 (то есть при решении не убирать лог из программы).

Attachments (1)

ss1.jpg (66.0 KB ) - added by alx 8 years ago.

Download all attachments as: .zip

Change History (5)

by alx, 8 years ago

Attachment: ss1.jpg added

comment:1 by dimag, 8 years ago

Resolution: invalid
Status: newclosed

Я запускал программу под Ubuntu, в версии r229 и не смог воспроизвести данную ошибку

comment:2 by alx, 8 years ago

Resolution: invalid
Status: closedreopened

То, что Вам не удалось воспроизвести проблему, не означает, что тикет invalid.
Проблема-то есть, она никуда не делась. И надо не тикет закрывать а думать над тем, как ее воспроизвести и как найти причину проблемы. Если нужна какая-то помощь, я готов в меру сил поучаствовать в этой работе. Вчера, бегло просмотрев код, я не смог найти причину. Надо работать над проблемой дальше.

comment:3 by alx, 8 years ago

Resolution: fixed
Status: reopenedclosed

Причину проблемы удалось найти.
Причина была в том, что ProgLogger::info() ожидает на своем входе текст, закодированный в Windows-1251, который он потом явным образом перекодирует в юникод. Де-факто же он получал текст уже в юникоде, так как компилятору (точнее, препроцессору) была сообщена кодировка исходных текстов (input-charset), но не была задана кодировка исполнения (exec-charset), которая по умолчанию - UTF-8. В результате компилятор все строковые литералы, которые и формируют лог, автоматически перекодировал в UTF-8. Установка exec-charset в CP1251 проблемы отображения логи решила.

comment:4 by san, 6 years ago

Milestone: Текущее2 очередь

Milestone renamed

Note: See TracTickets for help on using tickets.