![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно отследить появление " синего экрана смерти"?
Nils © (2004-03-09 18:50:00)Знаю, что вопрос идиотский, но может всё-таки кто-нить знает,
можно ли вообще программно отследить момент появления "синего экрана смерти" ?
ssk (2004-03-11 20:25:00) [1]:) а как "отловить" свою собственную смерть? :) т.е. понять, умер ты или еще на грани?
KSergey (2004-03-11 20:04:00) [2]> Игорь Шевченко © (11.03.04 15:22) [26]
Да я в нормальности ее и не сомнивался. И под сомнение сей факт не ставил %)
y-soft (2004-03-11 17:28:00) [3]>Игорь Шевченко © (11.03.04 15:22) [26]
Ну, это же пишет сам Марк Руссинович - более авторитетного специалиста найти трудно...
Игорь Шевченко (2004-03-11 15:22:00) [4]KSergey © (11.03.04 13:48)
Нормальная статья, кстати :)
Anatoly Podgoretsky (2004-03-11 14:51:00) [5]:-)
Нарочно не придумаешь
KSergey (2004-03-11 13:48:00) [6]off
Извините, конечно, но я не могу удержаться не расскзать ;)
Ввиду хренового знания языка решил прочитать указанную [23] y-soft © (11.03.04 10:21) статейку через on-line переводчик.
Ну много было занятных моментов, что не понятно в переводе - сверяемся с оригиналом (как обычно).
Но на фразе "Так, куда я иду со всей этой информацией?" я просто чуть со стула не свалился ;)))
(оригинал был "So where am I going with all this information?")
y-soft (2004-03-11 10:21:00) [7]> Nils (10.03.04 18:24) [18]
Для лучшего понимания BSOD:
http://www.winntmag.com/Articles/Index.cfm?IssueID=26&ArticleID=301
Anatoly Podgoretsky (2004-03-11 09:50:00) [8]Nils (10.03.04 18:24) [18]
Говоришь слабо? Тогда тебе в местную. песочницу.
y-soft (2004-03-11 09:42:00) [9]> Nils (10.03.04 18:24) [18]
ОС, конечно, сделана с запасом прочности и даже с некоторой перестраховкой. Иногда BSOD выскакивает по принципу "лучше завершиться, а то, как бы чего не вышло". Но это совсем не значит, что всегда можно ее "поправить" - чаще всего это приведет только к ухудшению ситуации. Или теорию надежности больше в ВУЗах не преподают? :)
Отдельный случай - отладка известного драйвера, когда можно прогнозировать его поведение и возможные последствия. Но и это делается именно с целью отладки, а не "исправления" работы...
Вообще IMHO попытки лезть в ОС на низком уровне неопытными руками по меньшей мере неразумны и необоснованы, т.к. игнорируется основная цель хорошего программирования - добиться устойчивой и бесконфликтной работы приложения в многозадачной среде, т.е. надо не переделывать ОС "под себя", а наоборот - максимально подстраивать под ОС свою программу...
Gero (2004-03-11 07:34:00) [10]> Nils (10.03.04 18:24) [18]
См. 12
VMcL (2004-03-11 07:19:00) [11]>>Nils (10.03.04 18:24) [18]
>что-то предпринять
Ну произошел у тебя сбой в драйвере, к примеру, видеоадаптера (на уровне бабы Нюры: ОС говорит драйверы "а нарисуй-ка мне вот такой массив данных в видеопамяти", а адаптер ему что-нибудь типа "IRQ_NUMBER_LESS_OR_EQUAL"). И что ты собираешься предпринять в такой ситуации?
Nils (2004-03-10 18:24:00) [12]Как трудно заставить людей думать!!!
А никто не пробовал написать прогу, которая это дело (BSOD) отслеживает и если оно случилось, что-то предпринять, а ?
Слабо ?
y-soft (2004-03-10 14:56:00) [13]>Игорь Шевченко © (10.03.04 14:51) [16]
IMHO тут, как повезет (смотря, какая причина BSOD и какие действия надо произвести). Хотя, конечно, для целей глубокой отладки - заманчиво :)
Игорь Шевченко (2004-03-10 14:51:00) [14]y-soft © (10.03.04 14:48)
Насколько я знаю (могу сильно ошибаться), но Driver Verifier работает по аналогичному принципу и кроме смерти по синему экрану успевает еще какие-то действия сделать.
KSergey (2004-03-10 14:49:00) [15]Ну мы перехватим - исключение в try..except - и дальше поехали. Превый раз что ли? ;)
y-soft (2004-03-10 14:48:00) [16]>Kerk © (10.03.04 14:38) [13]
А в чем разница? BSOD появляется как реакция системы на критическое исключение.
Другое дело, что такая обработка производится на очень низком уровне, что-то типа "последнего прости" от ОС, когда дальнейшая работа вроде бы невозможна. Так что и перехват в таком случае имеет мало смысла...
Kerk (2004-03-10 14:38:00) [17]
> Можно. Драйвер надо писать, который установит свой обработчик
> исключительных ситуаций в ядре.
Вопрос бы задан не так. Нужно отловить не исключение, а момент появление синего экрана... :)
Игорь Шевченко (2004-03-10 14:34:00) [18]
> можно ли вообще программно отследить момент появления "синего
>
> > экрана смерти" ?
Можно. Драйвер надо писать, который установит свой обработчик исключительных ситуаций в ядре.
Songoku (2004-03-10 13:06:00) [19]
GA GA GA GA GA
KSergey (2004-03-10 12:50:00) [20]> Nils (09.03.04 18:50)
> можно ли вообще программно отследить момент появления "синего
> экрана смерти" ?
А для чего это надо? Может есть другое решение?