Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Из-за чего бывает ошибка?   Найти похожие ветки 

 
Kurtevich ©   (2004-09-01 15:30) [0]

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


 
VMcL ©   (2004-09-01 15:34) [1]

>>Kurtevich ©  (01.09.04 15:30)

Обращение к памяти по неверному адресу или некорректная операция вида <запись в область памяти с атрибутом PAGE_READ>.


 
Kurtevich ©   (2004-09-01 15:38) [2]

Ну это понятно, а если более... ну, из-за чего такое может быть конкретнее?


 
{}   (2004-09-01 15:38) [3]

Отладка друг ... Отладка. ... try... cath


 
0d08h   (2004-09-01 15:39) [4]

Kurtevich
конкретнее вопрос задай


 
Sergey_Masloff   (2004-09-01 15:44) [5]

Попыткой работы с не своей памятью. Обращение по неинициированному указателю, обращение к несуществующему экземпляру объекта и так далее;


 
Игорь Шевченко ©   (2004-09-01 15:45) [6]

Kurtevich ©   (01.09.04 15:38)

Какие люди!


> из-за чего такое может быть конкретнее?


Отладчик обычно показывает КОНКРЕТНУЮ причину появления ошибки.


 
Digitman ©   (2004-09-01 16:01) [7]


> Kurtevich ©   (01.09.04 15:38)


и без охраны !?

)


> из-за чего такое может быть конкретнее?


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


 
Kurtevich ©   (2004-09-01 16:11) [8]


> "подсунуть" процессору маш.инструкцию, выполнение которой
> недопустимо для тек.уровня привелегий

уровень привилегий в процессоре зашит?

не, ну у вас же сильных и смелых много опыта, поэтому я и хотел узнать... я например часто сталкивался с AV, это понятно, а вот как понять эту "недопустимую операцию"... и отладить нельзя, потому что у меня эта ошибка упорно не хочет возникать... :(


 
clickmaker ©   (2004-09-01 16:23) [9]


> у меня эта ошибка упорно не хочет возникать

везет же людям...


 
Digitman ©   (2004-09-01 16:26) [10]


> Kurtevich ©   (01.09.04 16:11) [8]


> уровень привилегий в процессоре зашит?


сами существующие "номера" уровней - да .. они "зашиты" в процессоре и их всего 4 ... называются эти уровни "кольцами защиты", а сам механизм защиты задействуется в многозадачных ОС для изоляции задач друг от друга и от ядра в целом ... ну и много еще для чего ..

есть еще текущий и запрашиваемый уровни привелегий, инф-ция о них хранится в дескрипторах сегментов и селекторах дескрипторов сегменто, а так же дескрипторах шлюзов и селекторах оных

код ядра Win-совместимой ОС и драйверы режима ядра функционируют на 0-вом (наивысшем) уровне привелений, все остальное (прикл.задачи) - на 3-м, наинизшем

некоторые спец.маш.инструкции процессор обязан исполнять на "ядерном" уровне, но совершенно необязан исполнять их на "прикладном", о чем он (процессор) посредством ядра ОС и извещает тебя при попытен подобного нарушения со стороны твоего кода


 
oldman ©   (2004-09-01 16:29) [11]


> и отладить нельзя, потому что у меня эта ошибка упорно не
> хочет возникать...


Ну и работка у тебя - отлаживать ошибки, которые сам не можешь создать! :)))


 
Игорь Шевченко ©   (2004-09-01 16:29) [12]


> а вот как понять эту "недопустимую операцию"... и отладить
> нельзя, потому что у меня эта ошибка упорно не хочет возникать...
> :(


Скучно стало, решил пофлудить ?


 
oldman ©   (2004-09-01 16:31) [13]


> Игорь Шевченко ©   (01.09.04 16:29) [12]


Не, он в орешник хочет. :)))


 
{}   (2004-09-01 16:35) [14]

Не... Не согласен. ... С Шевченко.. Потому что Такие ошибки сложно отсльеживать


 
Kurtevich ©   (2004-09-01 16:36) [15]


> Digitman ©   (01.09.04 16:26) [10]

страшный человек! мистер Мозг! и откуда у человека в голове может быть столько места для книжной информации?

ладно, жаль, что я так и не получил ответа... спишем все на жару! :)


 
Digitman ©   (2004-09-01 16:44) [16]


> жаль, что я так и не получил ответа


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


> отладить нельзя


сказок ты тут не выдумывай - отладить можно ВСЕ ЧТО УГОДНО


> потому что у меня эта ошибка упорно не хочет возникать


да ты там таймеров "кривых" налепил скорей всего, вот и не можешь теперь "поймать" при трассировке


> жаль, что я так и не получил ответа


не вылдумывай .. ты его получил, пусть и в крайне сжатом виде ... а ты расчитывал на лекцию по принципам работв ЦП i80x86 в защищ.режиме ? не жирно ли будет ?


> откуда у человека в голове может быть столько места для
> книжной информации?


известно откуда...

и тебе советую - прежде чем амбиции свои тачками впереди себя толкать, почитать хоть какие-нибудь книжуленции по сабжу


 
Digitman ©   (2004-09-01 16:56) [17]


> Kurtevich


я считаю так - серия книжуленций весьма известных братьев Фроловых, среди которых есть и "Защищенный режим процессоров 286/386/486", должна быть прочитана хотя бы в обзорном объеме ЛЮБЫМ программистом, посягнувшем на разработку приложений в м/з операционной среде, функционирующей на компьютерах с ЦП этого семейства ... и выеживаться насчет знания механизма переменных в Сях (с плюсами или без оных - монопенисуально) будет моральное право ТОЛЬКО опосля хоть какого-то штудирования подобного рода манускриптов


 
Kurtevich ©   (2004-09-01 16:57) [18]


> Digitman ©   (01.09.04 16:44) [16]

ого!... и чего это он так?.. ничего ж не сказал - только вошел... ладно, быстро отвечаю и быстро исчезаю, чтоб опять не ругаться до вечера...
а) предыдущий мой флейм тут ни при чем
б) под "отладить нельзя" я имел в виду, что так как у меня не возникает этой ошибки, я не могу ее отловить
в) таймеров у меня никаких нету. и ты не особо круто умеешь видеть сквозь сеть мою программу. :)
г) я не выЛдумываю - я действительно вместо ответа получил только какие-то обобщения. я спрашивал, в каких ситуациях это может быть, а не из чего состоит процессор.
д) а мне вот неизвестно откуда. наверно какой-то расширитель памяти... :) и как могут называться эти книжуленции - "Ценный опыт программистов о том, в каких ситуациях может возникнуть ошибка ... для чайников"?


 
Digitman ©   (2004-09-01 17:03) [19]


> г) я не выЛдумываю - я действительно вместо ответа получил
> только какие-то обобщения


... а тебе вместо обобщений нужно было получить список маш.инструкций, НЕдопустимых к исполнению на том или ином уровне привелегий или при тех или иных условиях ? опять же - не слишком ли жирно будет ?

ответ ты получил - еще раз тебе повторяю - один из трэдов твоего процесса в какой-то момент времени поимел в своем составе инструкцию, для выполнения которой твой процесс в дан.момент НЕ имеет достаточного уровня привелегий ... поэтому ты и получил отлуп от ОС !

а уж каким макаром эта инструкция могла попасть в трэд - это не меня, это тебя нужно спросить)


 
Игорь Шевченко ©   (2004-09-01 17:03) [20]


> б) под "отладить нельзя" я имел в виду, что так как у меня
> не возникает этой ошибки, я не могу ее отловить


А какого рожна тогда флуд завел ?


 
reticon ©   (2004-09-01 17:06) [21]

>> монопенисуально)

:-))


 
Digitman ©   (2004-09-01 17:27) [22]


> для выполнения которой твой процесс в дан.момент НЕ имеет
> достаточного уровня привелегий


поправлюсь - а то ведь задолбишь потом претензиями !) - например, конкретный в некий данный момент селектор сегмента кода имеет в поле CPL тек.уровень привелегий, не соответствующий тому уровню привелегий, который требует появившаяся у тебя фиг знает откуда некая привелегированая маш.инструкция .. а CPL (или вообще - адрес возврата из п/п) у "батонокидателя" редко когда может самопроизвольно измениться на иное значение, обычно 3-ка остается 3-кой, а адрес возврата - корректным адресом возврата, и влупить туда иные значения может, например, код, испоганивший стек и влупивший туда черт те что... а в стеке, как известно, располагаются лок.переменные п/программ


 
Nous Mellon ©   (2004-09-01 17:38) [23]


>  [22] Digitman ©   (01.09.04 17:27)

Е-МОе мне тоже хочется какой-нибудь чуши спросить чтобы получить такие исчерпывающие и глубокие посты.


 
DSKalugin ©   (2004-09-01 18:57) [24]

> у меня эта ошибка упорно не хочет возникать

попробуй MesssageBox()
или
raise Exception.Message()


 
VID ©   (2004-09-01 20:22) [25]


> это не меня, это тебя нужно спросить)

а к примеру разработчиков программ Microsoft Office которые все силы направили на красивое оформление порой уродливого поведения их продуктов, которое выражается в "Программа допустила недопустимое!"...

собственно имхо, флейм, офф-топ, и ничего серьёзного :)


 
Kurtevich ©   (2004-09-01 20:27) [26]

всем спасибо за участие, особенно Дигитмену (my man! :)), дотошное изучение логов позволило со значительной долей вероятности уяснить причину ошибки, только ей подобные раньше почему-то преспокойненько кидались исключением БДЕ, а тут почему-то все было так неочевидно... наверно, все-таки жара виновата!..



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.057 c
1-1094209295
saint
2004-09-03 15:01
2004.09.19
Button, как определить какая кнопка активна в данный момент


4-1091216412
TankMan
2004-07-30 23:40
2004.09.19
Несколько вопросов по WinApi программированию...


10-1038995997
Voronok
2002-12-04 12:59
2004.09.19
Зашел в тупик Я.


8-1088505767
sashok
2004-06-29 14:42
2004.09.19
Проигрывание видео на форме.


14-1093666950
menart
2004-08-28 08:22
2004.09.19
3-й номер RSDN-MAGAZINE