Прежде чем приступить к продолжению описания других способов ловли "плохих" указателей, я хотел бы поговорить об утечках памяти и о механизмах их диагностики. Как мы увидим в дальнейшем, эта тема будет очень близко связана с нашим предыдущим разговором.
Примечание: если вы плохо или совсем не понимаете, что такое указатели и/или объекты - рекомендую сначала прочитать эту статью.
...when altering one's mind becomes as easy as programming a computer, what does it mean to be human?..
24 мая 2009 г.
11 мая 2009 г.
Access Violation в деталях
Примечание для людей, заходящих сюда из поисковика: эта статья написана для разработчиков программ. Если вы не программист и не пытаетесь исправить ошибку в СВОЕЙ программе, эта статья - не для вас. До свидания. Извините, что потратил ваше время.
Примечание для студентов/новичков, пишущих на Delphi/C++ Builder: эта статья написана для диагностики исключений в вашей программе. Если вместо этого вы получаете ошибки от самой IDE (а не от вашей программы), например, access violation в пакете dclite60.bpl, то эта статья - не для вас. Чтобы решить проблемы с IDE - идите сюда. Краткий ответ: не надо использовать динозавров (Delphi 5/6/7), используйте современные IDE (Delphi XE и выше). Если всё же хочется динозавров, то часто причиной является DEP. Т.е. нужно добавить Delphi/Builder в исключения DEP. Ну или на крайний случай - отключить/удалить конфликтующий пакет.
Итак, для всех прочих (а именно: разработчиков Delphi/C++ Builder, пытающихся решить проблему возникновения исключения Access Violation в своей программе) - приступим!
Исключение класса
Примечания:
Примечание для студентов/новичков, пишущих на Delphi/C++ Builder: эта статья написана для диагностики исключений в вашей программе. Если вместо этого вы получаете ошибки от самой IDE (а не от вашей программы), например, access violation в пакете dclite60.bpl, то эта статья - не для вас. Чтобы решить проблемы с IDE - идите сюда. Краткий ответ: не надо использовать динозавров (Delphi 5/6/7), используйте современные IDE (Delphi XE и выше). Если всё же хочется динозавров, то часто причиной является DEP. Т.е. нужно добавить Delphi/Builder в исключения DEP. Ну или на крайний случай - отключить/удалить конфликтующий пакет.
Итак, для всех прочих (а именно: разработчиков Delphi/C++ Builder, пытающихся решить проблему возникновения исключения Access Violation в своей программе) - приступим!
Исключение класса
EAccessViolation
- это самое частое исключение в Delphi-программах. Я хотел бы рассмотреть, что это такое, когда возникает, и как с ним бороться. Этот пост скорее для начинающих, поэтому данные могут излагаться с упрощением.Примечания:
- если вы совсем начинающий или студент/студентка и получили Access Violation - первым делом включите опцию Range Check Errors (Project/Options, вкладка Compiler) и сделайте Project/Build.
- если вы плохо или совсем не понимаете, что такое указатели и/или объекты - рекомендую сначала прочитать эту статью.
- если вы плохо или совсем не умеете работать с отладчиком IDE (или даже не знаете, что это такое) - прочитайте сначала эту статью.
8 мая 2009 г.
Terminator Salvation
Мрачно и зрелищно...
Ещё есть атмосферный сайт, а также сайт Terminate Yourself, где можно забуцкать свою фотку в стиле терминатора.
21 мая в кинотеатрах за бугром, 4-го июня в России.
Ещё есть атмосферный сайт, а также сайт Terminate Yourself, где можно забуцкать свою фотку в стиле терминатора.
21 мая в кинотеатрах за бугром, 4-го июня в России.
6 мая 2009 г.
Borland is no more...
Borland-а больше не будет.
MicroFocus объявила о покупке ими Borland. Согласно объявлению, "Borland покупается за, примерно, 75 миллионов $". Эта же новость на TechWorld. А вот и на BusinessWire.
Разумеется, теперь это уже не имеет никакого отношения с CodeGear и Delphi, т.к. теперь они принадлежат совсем другой компании - Embarcadero Technologies.
MicroFocus объявила о покупке ими Borland. Согласно объявлению, "Borland покупается за, примерно, 75 миллионов $". Эта же новость на TechWorld. А вот и на BusinessWire.
Разумеется, теперь это уже не имеет никакого отношения с CodeGear и Delphi, т.к. теперь они принадлежат совсем другой компании - Embarcadero Technologies.
4 мая 2009 г.
Как стать Программистом
Примечание: если вы зашли сюда через поисковик, возможно вы искали этот материал: "Как стать (Delphi) программистом".
Мимо этого я не мог пройти мимо.
Мимо этого я не мог пройти мимо.
Подписаться на:
Сообщения
(
Atom
)