Работа с памятью (Segmentation fault)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
kknight
Сообщения: 756

Работа с памятью

Сообщение kknight »

Обратил внимание, что ошибка Segmentation fault как правило не находит нормального объяснения. Ясно, что это связано с выделением памяти. По своему опыту сталкивался с этим в wine, dosbox и некоторых криво скомпиленных программах.
А что еще? Как с этим бороться? Расскажите, кто что знает...
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Работа с памятью

Сообщение Uncle_Theodore »

kknight писал(а):
14.09.2007 10:46
Обратил внимание, что ошибка Segmentation fault как правило не находит нормального объяснения. Ясно, что это связано с выделением памяти. По своему опыту сталкивался с этим в wine, dosbox и некоторых криво скомпиленных программах.
А что еще? Как с этим бороться? Расскажите, кто что знает...

Никак. Можно попробовать посмотреть, что происходит, запустив программу из-под strace'а, но толку от этого, скорее всего, не будет.
Сегфолт -- это слишком низкоуровневая проблема, чтобы ее можно было вычистить без дебангиговой информации и доступа к сырцам. Нужно писать разработчику.
Спасибо сказали:
Аватара пользователя
kknight
Сообщения: 756

Re: Работа с памятью

Сообщение kknight »

Uncle_Theodore писал(а):
14.09.2007 10:49
kknight писал(а):
14.09.2007 10:46
Обратил внимание, что ошибка Segmentation fault как правило не находит нормального объяснения. Ясно, что это связано с выделением памяти. По своему опыту сталкивался с этим в wine, dosbox и некоторых криво скомпиленных программах.
А что еще? Как с этим бороться? Расскажите, кто что знает...

Никак. Можно попробовать посмотреть, что происходит, запустив программу из-под strace'а, но толку от этого, скорее всего, не будет.
Сегфолт -- это слишком низкоуровневая проблема, чтобы ее можно было вычистить без дебангиговой информации и доступа к сырцам. Нужно писать разработчику.

А через приоритет процесса или еще как нельзя ли подстроиться под программу?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Работа с памятью

Сообщение serzh-z »

'Segmentation fault' - это обращение по недопустимому адресу памяти: по нулевому адресу, за пределы сегмента, разрешённого для чтения, или попытка записи в сегмент, в который запись не разрешена. Ответ на "как бороться?", думаю, напрашивается сам...
Спасибо сказали:
Аватара пользователя
kknight
Сообщения: 756

Re: Работа с памятью

Сообщение kknight »

serzh-z писал(а):
14.09.2007 10:54
'Segmentation fault' - это обращение по недопустимому адресу памяти: по нулевому адресу, за пределы сегмента, разрешённого для чтения, или попытка записи в сегмент, в который запись не разрешена. Ответ на "как бороться?", думаю, напрашивается сам...

Понятно, спасибо!
Спасибо сказали: