Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     01 Oct 2002  02:34:49
 To : Vjacheslav Maslov
 Subject : Re: g++
 -------------------------------------------------------------------------------- 
 
 
    Hi, Vjacheslav!
 
 >>>>> "VM" == Vjacheslav Maslov
 >>>>> <Vjacheslav.Maslov@p61.f151.n5000.z2.fidonet.org> writes:
 
  [skip]
  
  VB>>  А вот умение писать правильные логи, привычка везде расставлять ассерты,
  VB>>  помогает очень сильно.
 
  VM> А насколько логи снижают производительность программы?
 
  что такое "производительность программы"? 
  Что такое "на сколько логи снижают"?
  
  В простейшем случае - это один вызов syslog.
  
  в более сложном, где time critical - свой логинг, который в итоге скорее
  всего тоже закончится вызовом syslog, но может быть уже в отдельной нити.
  
  
  VB>>  Я уже отвечал на строку которая тут первая в квотинге, но не видел
  VB>>  своего постинга, в котором был вот такой URL:
  VB>>   http://lists.lexa.ru/apache-talk/msg06808.html
 
  VM> инета нету
 
  не страшно.  Там рассказывалось на каких loglevel чего у нас пишется. 
  
 ===
 
  IS> Тогда уж этому сообщению лучше сделать loglevel помельче - warn или
  IS> notice.  Потому как err - это минимум, который нужно выставлять.
  вот у нас "завдено" примерно следующее - 
  
  debug - то что реально нужно только автору кода (или человеку который
          вдруг полезет в исходники что-то там править)
  
  info  - то, что может понадобиться техническому специалисту для
          локализации проблемы и написания качественого bug-report.
          
  notice - то, что может понадобиться пользователю, но не обязательно
  
  warning - то, что таки есть смысл читать, но можно не читать, если не
          хочется
  
  error - с этим нужо че-то делать, но можно потерпеть (недолго ;)
  
  critical - если с этим ничего не сделать, то будет хуже
  
  alter - хуже, о котром говорили на уровне critical уже наступило
  
  emerg - "Приплыли".  За такого рода сообщением обычно следует экстреный 
          выход из программы. 
  
 ===
  
  VM> То есть ты писал реальные программы, использующиеся в реальной
  VM> обстановке HИ РАЗУ не использовав отладчик? 
  
  Почему "ни разу"?  Приходилость колупаться в проекте написаном на tp7.
  Hужно было его "полечить".  Минут 10 мы его честно пытались трейсить,
  через весь TurboVision, надеясь вспомнить "а как там оно устроено... ведь
  всего лет семь назад все это знал очень хорошо", и угадать, в каком месте
  нужно "зайти внутрь", а в каком можно смело пропустить вызов процедуры.
  Я даже помнил что можно ставить условные точки останова!  Hо это не сильно
  помогло ;-)))
  
  Через 10 минут мы поняли, что мысла тратить время на отладчик и блукание
  по коду нет, проще приписать хоть в каком-то виде протоколирование,
  например тупую запись в файл какой-нибудь ругни.  
 
  например, самые очевидные места для writeln(f_log, 'some shit') - это те
  строки, где мы пытались ставить разымные breack point'ы.
  
    
  Модуль в котором оно валилиось мы знали (проект наплохо спроектирован,
  поделен на классы, база вынесена.  Целевые модули реализовавали наследника
  от некого базового класса, в котором пререопределялись пара-тройка
  виртуальных функций.  В средем 80-200 строк на такой прикладной модуль).
  Выяснять как и о чем думал человек (кстати, весьма неординарных
  способностей, такое отбабахал в одиночку!), это ДОЛГО и следовательно
  ДОРОГО.  Даже еслиб помнили архитектуру TV в рамках котрой все это було
  писано, всеравно грустно.  
  
  С нормальным протоколированием четко поймали где что неправильно делалось,
  даже немного поняли что откуда вызывается ;-)
  
  
  VM> Расскажи о том, что это за проекты
 
  начиная от простейшего CGI (давно), заканчивая вот проектиком, который
  живет на embedded linux (cris-axis-linux-gnu).
  
  Hапример embedder приложение разрабтаывалось в рамках проекта "Комплекс
  автоматизации медицинской лаборатории".  Благо сейчас этим другие ребята
  занимаются, молодые и энергичные ;)))
  
  
  Зачем вообще отладчик?  Перечисли ситуации, когда отладчик удобнее.  
  
  Одну я знаю - писаное на plain C непотребство, упавшее в корку.  Отладчик
  просто незаменим чтоб выяснить по корке, в каком месте нужно добавлять
  assert/log...
  
  Hапример eiffel "страдает" тем, что корректно возвращает нормальный
  traceback в особо тяжких случаях.  Сразу и четко пишет какой
  pre-/post-condition сработал, в каком variant/invariant мы вылетели.
  Всякие python/итд - тоже.  Если программа вернула traceback - то там сразу
  видно в какой стороке "что-то не так".  Hапример отсувие проверки
  правильности данных (или в случае eiffel проверка сработала ;).  Если
  ошибка сразу не очевидна, то есть смысл до этого места добавить логинг.   
  В зависимости от.  Сомтреть отладчиком ДОЛГО и непоятно.
   
 -- 
    Bor.
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 g++   Vjacheslav Maslov   26 Sep 2002 23:17:57 
 Re: g++   Victor Wagner   27 Sep 2002 10:01:14 
 g++   Vjacheslav Maslov   27 Sep 2002 22:29:50 
 Re: g++   Valentin Nechayev   28 Sep 2002 10:21:39 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:38:56 
 Re: g++   Valentin Nechayev   27 Sep 2002 10:54:33 
 g++   Vjacheslav Maslov   27 Sep 2002 22:31:09 
 Re: g++   Valentin Nechayev   28 Sep 2002 10:21:39 
 Re: g++   Aleksey Barabanov   28 Sep 2002 14:18:42 
 Re: g++   Vladimir Bormotov   28 Sep 2002 15:50:01 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:40:29 
 g++   Vjacheslav Maslov   29 Sep 2002 21:49:10 
 Re: g++   Igor Zakhrebetkov   29 Sep 2002 20:51:29 
 Re: g++   Valentin Nechayev   29 Sep 2002 22:20:30 
 Re: g++   Vladimir Bormotov   29 Sep 2002 23:27:38 
 g++   Vjacheslav Maslov   01 Oct 2002 00:06:50 
 Re: g++   Vladimir Bormotov   01 Oct 2002 02:34:49 
 g++   Andrey Rudyavsky   18 Oct 2002 14:29:34 
 Re: g++   Vladimir Bormotov   19 Oct 2002 12:21:17 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:57:51 
 Re: g++   Vladimir Bormotov   30 Sep 2002 20:03:02 
 g++   Vjacheslav Maslov   01 Oct 2002 22:25:37 
 Re: g++   Vladimir Bormotov   02 Oct 2002 10:08:05 
 Re: g++   Vasily Tchekalkin   02 Oct 2002 10:47:05 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 21:00:48 
 g++   Kirill Frolov   02 Oct 2002 02:46:04 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 21:02:14 
 Re: g++   Valery Shishkov   07 Oct 2002 19:16:50 
 Re: g++   Aleksey Barabanov   27 Sep 2002 11:37:41 
 Re: g++   Aleksey Cheusov   27 Sep 2002 12:37:00 
 Re: g++   Aleksey Barabanov   28 Sep 2002 00:55:29 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 04:09:19 
 Re: g++   Aleksey Barabanov   28 Sep 2002 14:18:42 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 19:38:29 
 Re: g++   Aleksey Barabanov   28 Sep 2002 18:28:02 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 20:45:52 
 Re: g++   Aleksey Barabanov   28 Sep 2002 21:06:07 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   28 Sep 2002 23:51:58 
 Re: g++   Aleksey Barabanov   28 Sep 2002 22:37:28 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:45:39 
 Re: g++   Ilya Teterin   30 Sep 2002 19:30:11 
 Re: g++   Aleksey Barabanov   30 Sep 2002 23:25:11 
 Re: g++   Stanislav Protassov   01 Oct 2002 02:06:23 
 Re: g++   Oleg Goodyckov   01 Oct 2002 19:09:28 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:54:18 
 Re: g++   Oleg Goodyckov   03 Oct 2002 17:59:47 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   04 Oct 2002 18:36:35 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:41:47 
 Re: g++   Oleg Goodyckov   01 Oct 2002 18:46:55 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   02 Oct 2002 20:55:37 
 Oops! Я таки чайник!   Vitaly.Lugovsky@ontil.ihep.su   29 Sep 2002 00:03:28 
 g++   Andrey Rudyavsky   15 Oct 2002 13:05:54 
 Re: g++   Valentin Nechayev   15 Oct 2002 18:16:03 
 Re: g++   Aleksey Cheusov   30 Sep 2002 14:47:42 
 g++   Vjacheslav Maslov   28 Sep 2002 22:43:02 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:46:17 
 g++   Vjacheslav Maslov   28 Sep 2002 23:08:46 
 Re: g++   Aleksey Cheusov   30 Sep 2002 15:08:09 
 Re: g++   Vitaly.Lugovsky@ontil.ihep.su   30 Sep 2002 20:47:31 
 g++   Vjacheslav Maslov   01 Oct 2002 22:16:57 
Архивное /ru.linux/2541a3dd8ccf.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional