Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно отследить появление " синего экрана смерти"?


Страницы:   1 2

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)  
> можно ли вообще программно отследить момент появления "синего
> экрана смерти" ?

А для чего это надо? Может есть другое решение?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо