From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 20 Dec 2005 10:49:05 +0200 From: Gleb Stiblo To: ALT Linux Community Subject: [Comm] Segmentation fault Message-ID: <20051220084905.GA30431@sam-solutions.net> References: <43A76008.3000305@rambler.ru> <43A74747.9070200@lsi.bas-net.by> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <43A74747.9070200@lsi.bas-net.by> X-OriginalArrivalTime: 20 Dec 2005 08:49:05.0777 (UTC) FILETIME=[3BE96610:01C60542] X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Dec 2005 08:49:32 -0000 Archived-At: List-Archive: List-Post: 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