[Comm] Segmentation fault
Gleb Stiblo
=?iso-8859-1?q?g=2Estiblo_=CE=C1_sam-solutions=2Enet?=
Вт Дек 20 11:49:05 MSK 2005
On Tue, Dec 20, 2005 at 01:50:31AM +0200, spider wrote:
[ skipped ]
DAK>>Segmentation fault - что это такое и как с этим бороться?
DAK>>
s> Обращение к тем участкам адресного пространства, которое не
s> отображено на реальную память, вызывает исключение процессора
s> SIGSEGV. Это происходит исключительно из-за небрежного
s> программирования. Чаще всего встречается при залезании за границу
s> запрошенного участка памяти, например, при обработке массивов.
s> Есть тулза в дистрибутиве AM 2.4 -- valgrind. Она позволяет оттрассировать
s> программу на предмет небрежного программирования.
s> Бороться в С с SIGSEGV очень просто:
s> -- проверять в обязательном порядке возврат от *всех* системных вызовов;
s> -- это же делать и для своих вызовов:
s> -- аккуратно работать с памятью -- каждому malloc() надо дать по free().
s> Никогда не вставайте из-за компьютера, если для каждого malloc() не
s> написан его free(), даже поссать не вставайте и даже гуще:-).
Супер! Всё письмо нужно резать на фортунки!
[ skipped много интересного ]
Всего,
Глеб.
--
Gleb Stiblo AKA UlfR <g.stiblo на sam-solutions.net>
Подробная информация о списке рассылки community