Re[10]: Сейчас на меня набросятся
От: adontz Грузия http://adontz.wordpress.com/
Дата: 18.12.05 15:42
Оценка:
Здравствуйте, pavel_turbin, Вы писали:

_>а как иначе дебужить? Просить логи или эксперементальную версию запускать?


Логи можно запросто и самому слать. Те же log4*** имеют EMailAppender или как он там называется.
Custom Build это уже совсем на крайний случай. Логи кстати не объязательно писать всегда. Может быть инсталляция программы и отдельно мини-инсталляция, которая включает запись и отсылку логов.
Пользователю так гораздо проще. В особенности если ошибка нестабильная и не известно когда произойдёт.
Я конечно понимаю, что dump это очень круто и супер-полезно, но какой процент пользователей, пусть даже под linux, сумеет его правильно записать и отослать? Хорошо подумай, прежде чем назовёшь цифру больше 10.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[9]: Сейчас на меня набросятся
От: Cyberax Марс  
Дата: 18.12.05 15:54
Оценка:
adontz wrote:
> C>Пусть шлют coredump, по которому можно посмотреть stacktrace.
> Я рыдаю. Ты хоть раз работал с пользователями? ИМХО за такие выходки PM
> настучит по голове, а support team добавит.
Делайте автоматический присылатель core-ов. У нас так и сделано для
Windows (под Линукс у нас серверный софт, который обслуживают админы).

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[10]: Сейчас на меня набросятся
От: adontz Грузия http://adontz.wordpress.com/
Дата: 18.12.05 16:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Делайте автоматический присылатель core-ов. У нас так и сделано для Windows (под Линукс у нас серверный софт, который обслуживают админы).


Это замечательно конечно, примечик такой штуки даже на CodeProject есть, но по сути неприятная выходит ситуация. Была ошибка после которой можно было восстановится, а вместо этого программа валится, теряются данные и т.д. и т.п.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[11]: Сейчас на меня набросятся
От: Cyberax Марс  
Дата: 18.12.05 16:21
Оценка: +1
adontz wrote:
> Это замечательно конечно, примечик такой штуки даже на CodeProject есть,
> но по сути неприятная выходит ситуация. Была ошибка после которой можно
> было восстановится, а вместо этого программа валится, теряются данные и
> т.д. и т.п.
Не "можно было восстановиться", а "можно было сделать вид, что ничего не
произошло". Причем с возможными катастрофическими последствиями.

Уж лучше пусть программа сразу упадет, чем будет делать вид.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[11]: Сейчас на меня набросятся
От: Pzz Россия https://github.com/alexpevzner
Дата: 18.12.05 16:56
Оценка:
adontz wrote:
>
> C>Делайте автоматический присылатель core-ов. У нас так и сделано для
> Windows (под Линукс у нас серверный софт, который обслуживают админы).
>
> Это замечательно конечно, примечик такой штуки даже на CodeProject есть,
> но по сути неприятная выходит ситуация. Была ошибка после которой можно
> было восстановится, а вместо этого программа валится, теряются данные и

Если при аварийном завершении программы теряются данные, то это ошибка,
и ее надо устранить.

Аварийное завершение может произойти и без всякой вины программы.
Например, из-за сбоя в электропитании. Программа должна предусматривать
безопасность пользовательских данных при такой ситуации.
Posted via RSDN NNTP Server 2.0
Re[3]: Сейчас на меня набросятся
От: srggal Украина  
Дата: 19.12.05 07:58
Оценка: 1 (1) +1
Здравствуйте, Tanker, Вы писали:

T>Здравствуйте, srggal, Вы писали:


S>>After the call to fclose(), any use of stream results in undefined behavior.


T>Вот такого как раз быть и не должно. Функция должна вернуть код ошибки.


ГМ, если Вы не поняли, то это цитирование POSIX SUSV3.

ИМХО не очень правильно переть против танка с шашкой, и кричать, что он должен свернуть
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[21]: Сейчас на меня набросятся
От: ДимДимыч Украина http://klug.org.ua
Дата: 19.12.05 08:15
Оценка:
Здравствуйте, adontz, Вы писали:

A>>>Память не будет неразумно использоватся, потому что список и так уже есть.

ДД>>Неужели? Где он и зачем?

A>Внимателно читаем всю ветку http://www.rsdn.ru/Forum/Message.aspx?mid=1541958&amp;only=1
Автор: Pzz
Дата: 15.12.05


Есть список, а точнее — таблица дескрипторов. exit() только говорит ядру о том, что процесс завершился, а освобождением ресурсов занимается само ядро. В том числе и закрытием дескрипторов. fopen() & Co для работы с файлами в итоге делают системные вызовы, и хранить в библиотеке отдельный список указателей на структуру FILE не вижу смысла.

A>Всё равно, поиск в списке из нескольких десятков элементов это мелочи. Ввод-вывод крайне редко является узким местом. А если является, то меняют аппаратуру, а не переписывают программу.


Правильно. Тормозит программа — купите процессор побыстее, поставьте памяти побольше. Переразведите плату под более быстрый микроконтроллер

ДД>>Бывает. Машины ненадежны, но люди еще ненадежнее. Но это не повод обвинять в кривости библиотеку, которая работает в соответствии со стандартом.


A>А где я обвиял в кривости? Ты ни с кем меня не перепутал?


Ты — нет, обвинял Кирпа В.А — автор первого сообщения. А ты, насколько я понял, с ним согласен. Если не так — извини.

ДД>>Тогда может ты предложишь проверять на валидность указатели в realloc, free, pthread_create, sem_post и т.д.?


A>А почему нет?


Хотя бы потому что в стандартной библиотеке это не нужно.

A>Идеология не позволяет?


В какой-то мере — да.

ДД>>Для быстрой и дешевой разработки ПО, некритичного к кривости рук программиста, существуют соответствующие технологии и языки.


A>Кривизна рук тут ни при чём. Ошибки делают все.


Да. Но некоторые их исправляют, а некоторые о них даже не подозревают.

A>Я не очень понимаю, зачем надо гордится тем, что "язык на котором я программирую позволяет совершать более изощерённые ошибки" и тем более лелеять это как святыню.


Не совсем понял, к чему это, ну да ладно.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[3]: Сейчас на меня набросятся
От: ДимДимыч Украина http://klug.org.ua
Дата: 19.12.05 08:22
Оценка:
Здравствуйте, Tanker, Вы писали:

_>>а вы думаете под Windows API функции не используют HeapAlloc? вы ошибаетесь. Однако, если память не выделена, CreateFile обломится.


T>Все правильно, только дескриптор закрывай сколько хочешь, худа от этого не будет. Тебе вернется код ошибки и все.


А кто сказал, что в glibc нельзя закрывать дескриптор сколько угодно? Вернется код ошибки и все.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[9]: Сейчас на меня набросятся
От: srggal Украина  
Дата: 19.12.05 09:53
Оценка:
Здравствуйте, adontz, Вы писали:

C>>Пусть шлют coredump, по которому можно посмотреть stacktrace.


A>Я рыдаю. Ты хоть раз работал с пользователями? ИМХО за такие выходки PM настучит по голове, а support team добавит.

-1

Я позволю Вам напомнить, что в XP автоматом включили создание дампов и отсылку их разработчикам, создание дампов в ОС Виндовз появилось намного раньше, но даже MS нашла рациональное зернго в дампах.

Так что плакать не надо, все будет хорошо.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[5]: Сейчас на меня набросятся
От: srggal Украина  
Дата: 19.12.05 10:01
Оценка:
Здравствуйте, Tanker, Вы писали:

T>Здравствуйте, MaximE, Вы писали:


>>> Раз они юзают malloc, free то пусть будут добры не попадать в условия когда

>>> портится heap (например повторное закрытие файла)

ME>>Лучше пусть они маскируют ошибки в твоем коде, так?



T>Маскируют ? Если бы во время повторного закрытия валился аналог Debug Break, это было бы неплохо, а так валится хип. Увидел программист, что хип повалился, что ему дальше делать ?


Для того, чтобы увидить чьло хип повалился, достаточно использовать valgrind.

ИМХО, вся проблема людей когда-либо работающих с MS OS в том, что они излищне доверчивы к ПО, и считают, что ПО все должно делать за них.

НО, даже в MSVC 2003 при создании консольного приложения — отладочная куча сама по себе не подрубается, это надо делать ручками. Так что притензия не принимается
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[10]: Сейчас на меня набросятся
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.05 10:01
Оценка:
Здравствуйте, srggal, Вы писали:

S>Я позволю Вам напомнить, что в XP автоматом включили создание дампов и отсылку их разработчикам, создание дампов в ОС Виндовз появилось намного раньше, но даже MS нашла рациональное зернго в дампах.


Неправильно написал. правильно так.

Я позволю Вам напомнить, что в XP автоматом включили создание дампов и отсылку их разработчикам ОС, создание дампов в Виндовз появилось намного раньше, но даже MS нашла рациональное зернго в дампах.

Кроеме того я не сказал, что дампы плохо. Я сказал что плохо — падающее приложение и лучше до этого не доводить.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[12]: Сейчас на меня набросятся
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.05 10:04
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Если при аварийном завершении программы теряются данные, то это ошибка, и ее надо устранить.


Это в теории. На практике я знаю только два пакета програм MS Office и Corel которые так делают. Причём в пакете Corel это не работает Все остальные теряют данные.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[13]: Сейчас на меня набросятся
От: raskin Россия  
Дата: 19.12.05 10:12
Оценка:
adontz wrote:
> Это в теории. На практике я знаю только два пакета програм MS Office и
> Corel которые так делают. Причём в пакете Corel это не работает Все
> остальные теряют данные.

Пять копеек от линуксоида — ViM. При большинстве вариантов настройки
(включая умолчания) он скидывает действия (иногда их результаты) на
диск. Причём это делается так же, как и swap, когда памяти мало.
Вероятность успешного восстановления стремится к 1. Впрочем, под Windows
всё у него так же.

Ну и, кстати, когда я роняю Opera или Firefox (с SaveSession), список
адресов, которые я держал открытыми, не теряется. Что, впрочем, иногда
приводит к необходимости с этим бороться, но в среднем очень удобно.
Posted via RSDN NNTP Server 2.0
Re[11]: Сейчас на меня набросятся
От: srggal Украина  
Дата: 19.12.05 10:13
Оценка: 1 (1)
Здравствуйте, adontz, Вы писали:

A>Кроеме того я не сказал, что дампы плохо. Я сказал что плохо — падающее приложение и лучше до этого не доводить.


ГМ,если бы Вы действительно так считали, то пришли бы к томуже выводу, что и я

Приложение, которое не падает должно следовать стандартам которым соответсвует ОС, под которую написано приложение. В противном случае UB.

Неправильность Вашей позиции ( я считаю таковой ожидание умной диагностики от рантайм, но если ошибся — поправьте ) и привела АТ к созданию этого топика. Он не стал изучать POSIX, а доверился смартовому рантайму от
SUN.

Портировал я давеча один непутевый код с SUN на Linux


О результате такого подхода мы можем судить из его сообщения, и флейма, который оно вызвало.

ИМХО: стандарты как минимум в ИТ, пишутся таким образом, дабы несвязывать разработчикам стандартизованного ПО руки, и даже наоборот, предоставить свободу реализации. Можно приводить много примеров требований из разных стандартов, которые на первый взгляд необязательны и совсем неочевидны. НО, повторюсь: ЧТОБЫ ПРОГРАММА НЕ ПАДАЛА, ОНА ДОЛЖНА СООТВЕТСВОВАТЬ СТАНДАРТАМ ( каким — уточнять не буду, но как минимум языка и ОС под которую написана ).

Если что не так звыняйте
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[5]: Сейчас на меня набросятся
От: MaximE Великобритания  
Дата: 19.12.05 10:20
Оценка:
Здравствуйте, Tanker, Вы писали:

ME>>Лучше пусть они маскируют ошибки в твоем коде, так?



T>Маскируют ? Если бы во время повторного закрытия валился аналог Debug Break, это было бы неплохо, а так валится хип. Увидел программист, что хип повалился, что ему дальше делать ?


Какой такой программист? У меня компы в стойке, за ними нет операторов.
Re[9]: Сейчас на меня набросятся
От: MShura  
Дата: 19.12.05 11:32
Оценка:
A>А подумать, прежде чем писать можно было? Ей передаётся не абы какой указатель, а выделенный fopen. Что мешает хранить где-то внутри список всех указателей выделенных fopen и при вызове fread, fwrite, fclose проверять валидность переданного указателя простым его вхождением в список? Ничего не мешает, кроме лени и желания гнать понты. По сравнению со скоростью ввода-вывода это копейки. Те же дескрипторы в Windows это сплошь указатели или индексы в таблицах, однако использование левого дескриптора не приводит ни к какому краху. UB на сегодня это плохой тон или детский сад, уж сам выбери.

http://www.rsdn.ru/Forum/?mid=1427951
Автор: Tom
Дата: 10.10.05
Re[13]: Сейчас на меня набросятся
От: Pzz Россия https://github.com/alexpevzner
Дата: 19.12.05 11:35
Оценка:
adontz wrote:
>
> Pzz>Если при аварийном завершении программы теряются данные, то это
> ошибка, и ее надо устранить.
>
> Это в теории. На практике я знаю только два пакета програм MS Office и
> Corel которые так делают. Причём в пакете Corel это не работает Все
> остальные теряют данные.

Вы точно знаете? Вы попробовали _все_ остальные программы? Сколько Вам
лет, простите?...
Posted via RSDN NNTP Server 2.0
Re[14]: Сейчас на меня набросятся
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.12.05 12:04
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Вы точно знаете? Вы попробовали _все_ остальные программы? Сколько Вам лет, простите?...


Я сказал я знаю два пакета,я не сказал, что я знаю, что етсь только два пакета. ВСе остальные программы никто не пробовал. Но пока что программ намечается от силы 5, если считать и браузеры. Можете расширить этот список вне зависимости от возраста.
A journey of a thousand miles must begin with a single step © Lau Tsu
2 ALL
От: srggal Украина  
Дата: 19.12.05 13:12
Оценка: +2
Здравствуйте, Кирпа В.А., Вы писали:


Я вот чего не пойму, доколе будет холиварз в этой ветке ?
Эту ветку давно пора перенемти в Философию, Ибо конструктивные ответы были даны, но все выродилось в банальный холиварз.

ОТчего в форуме по С/С++ не приходит в голову кричать во весь голос — а мне не нравится как написан стандарт ?
А если и находятся индивидумы — то никто с нимим не флеймит ?

МОДЕРАТОРЫ ИМХО — ПОРА ПЕРЕНОСИТЬ

Нет желания копаться во всем, приведу только ссылку на свой пост:
здесь
Автор: srggal
Дата: 12.12.05
написано, отчкго такое происходит.

ЗЫ
Давайте убивать своё время в специализированных форумах, а не размазывать дискуссии по всем форумам.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[19]: Сейчас на меня набросятся
От: srggal Украина  
Дата: 19.12.05 13:29
Оценка:
Здравствуйте, Кирпа В.А., Вы писали:

КВА>Здравствуйте, ДимДимыч, Вы писали:


ДД>>Здравствуйте, adontz, Вы писали:


КВА>активность на этом форуме за счет моего топика значительно подросла

КВА>только вот за такой интересный топик минусы получать не очень приятно

ИМХО В вашем топике нет АБСОЛЮТНО ничего интересного, активность подросла за счет подтянувшихся апологетов WINDOWS, с соседнего WINAPI и философов из ФИЛОСОФИИ.

Если так и дальше будет, то или начнут модерировать модераторы, или появится новый форус — ТОЛЬКО О ЮНИКС и ТОЛЬКО ДЛЯ ЮНИКСЛОИДОВ

ЗЫ
Моё мнение здесь
Автор: srggal
Дата: 19.12.05
... << RSDN@Home 1.1.4 stable rev. 510>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.