Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2010, 22:22   #1
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию Прямой доступ к памяти

ВНИМАНИЕ, НЕ ЗАПУСКАТЬ ЭТОТ КОД. ПОЧТИ 100% ВЕРОЯТНОСТЬ АБСОЛЮТНОГО ЗАВИСАНИЯ СИСТЕМЫ
Код:
var
  i: Integer;
begin
  Randomize;
  for i := 1 to 10000000 do
    try
      PByte (Random ($ffffffff))^ := Random (256);
    except
    end;
end;
Почему этот код приводит систему в ПОЛНЫЙ ступор. При всем уважении в прямому обращению к памяти программа не должна иметь доступа к адресному пространству системы (по крайней мере такого простого). В крайнем случае могла бы зависнуть сама. Но тут даже Alt+Ctrl+Del не помогает.
Sibedir вне форума Ответить с цитированием
Старый 12.06.2010, 23:11   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Смех

Хм... Мож она сама себя испортила как-нибудь?
А буду перезагружаться - обязательно запущу...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.06.2010, 23:21   #3
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Да не, вроде всё нормально) Да, я запустил, но ничего не произошло) Может, это у вас с дельфой что-то?
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 12.06.2010, 23:31   #4
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Когда говорят не делать, то хочется сделать ещё больше)
У меня тоже всё нормально...
Может винда старая? (Я про ХР). Хотя наврядли такое может быть...
TwiX вне форума Ответить с цитированием
Старый 12.06.2010, 23:42   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Когда говорят не делать, то хочется сделать ещё больше)
Та ты и не говори...
Запустил и я ... но как не странно у меня вобще ошибку выкинуло - Access Violation
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 12.06.2010, 23:59   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

И у меня AV... Да точно оно что-то в памяти испортила (случайным образом же, у всех разное может быть )...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 13.06.2010, 00:34   #7
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Точно не из-за Delphi. Я теперь откомпелированный exe запустил. Опять 25.

Delphi 7
Безымянный.JPG
Цитата:
Может винда старая? (Я про ХР). Хотя наврядли такое может быть...
Еще как может. У меня почти все, я извиняюсь, кряки и эмуляторы ключей от рабочих программ под хрюшу. Рад бы поменять, да на чем тогда работать.

А у тех, у кого нормально все, ось какая?

Последний раз редактировалось Sibedir; 13.06.2010 в 00:38.
Sibedir вне форума Ответить с цитированием
Старый 13.06.2010, 00:45   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а у меня вообще ничего
срабатывает перехват ошибки, в итоге проц грузится, но ни AV, ничего.
Win XP Sp3 чистая.(Д6)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.06.2010, 00:48   #9
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
срабатывает перехват ошибки
Это как? Всмысле предупреждение от Delphi? А что если его вырубить или exe-шник запустить?

И кстати, что такое AV?
Sibedir вне форума Ответить с цитированием
Старый 13.06.2010, 01:21   #10
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

XP SP2 спустя секунду зависла намертво.

У меня в реестре установлена опция CrashOnCtrlScroll ("BSOD по вызову", использую вместо отсутствующей на системнике кнопки reset) - она обрабатывается где-то глубоко в ядре и прекрасно работает при любых зависаниях когда клавиатура уже не реагирует, но сейчас ступор был полнейший Под виртуалкой виснет только само приложение.

Sibedir, AV - access violation. DomiNick, spamer AV не должно быть, исключение-то обрабатывается. Запустите не из-под IDE.

После перезагрузки экзешник отказался запускаться - "не является приложением win32", побился файл - такого безобразия при некорректном завершении работы на NTFS-томе давно не видел
пыщь

Последний раз редактировалось JTG; 13.06.2010 в 01:39.
JTG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли компонент,чтобы иметь прямой доступ к пикселям jpeg без конвертирования в bmp? Dima_Dima Свободное общение 1 26.05.2010 19:00
есть ли компонент,чтобы иметь прямой доступ к пикселям jpeg без конвертирования в bmp? Dima_Dima Компоненты Delphi 14 26.05.2010 18:30
Поворот прямой Байт Помощь студентам 2 15.02.2010 22:41
Прямой доступ к физическому устройству. BOBAH13 Win Api 0 16.09.2009 22:50
Доступ к памяти другой программы BaronTreep Win Api 10 31.05.2009 07:16