Как найти ошибку в ядре (модуле ядра)?
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2011-09-16 15:29:01
Как найти ошибку в ядре (модуле ядра)?
Нашёл ситуацию, при воспроизведении которой от обычного пользователя FreeBSD (9.1) молча уходит в ребут.
Хочу сам разобраться почему такая ситуация возникает.
Программировать умею, но системным программированием не занимался. Чем отлаживать ядро тоже не представляю.
Кто-нибудь может помочь?
Хочу сам разобраться почему такая ситуация возникает.
Программировать умею, но системным программированием не занимался. Чем отлаживать ядро тоже не представляю.
Кто-нибудь может помочь?
Последний раз редактировалось f_andrey 2013-03-08 5:28:42, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- res251
- мл. сержант
- Сообщения: 87
- Зарегистрирован: 2012-02-26 0:03:34
- Откуда: UA
- Контактная информация:
Re: Как найти ошибку в ядре (модуле ядра)?
DDB - отладчик уровня ядра в FreeBSD
gdb
Прочитать руководство для разработчиков в FreeBSD, потренироватся анализировать core файлы
gdb
Прочитать руководство для разработчиков в FreeBSD, потренироватся анализировать core файлы
Hастоящий админ знает только одно оскорбление - "ты юзер".
DANGER: DESKTOP FreeBSD USER
DANGER: DESKTOP FreeBSD USER
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2011-09-16 15:29:01
Re: Как найти ошибку в ядре (модуле ядра)?
Как пользоваться gdb я представляю. Проблема в том, что core файл не создаётся при ребуте.res251 писал(а):DDB - отладчик уровня ядра в FreeBSD
gdb
Прочитать руководство для разработчиков в FreeBSD, потренироватся анализировать core файлы
В идеале мне бы хотелось видеть следующее: воспроизвести ситуацию и оказаться в отладчике, который предотвратит ребут.
- res251
- мл. сержант
- Сообщения: 87
- Зарегистрирован: 2012-02-26 0:03:34
- Откуда: UA
- Контактная информация:
Re: Как найти ошибку в ядре (модуле ядра)?
лог сохрани и документацию для разработчиков прочти, core для тренировки
узнай что такое брекпоинт и так далее
прочти книги, очень советую Мет Теллес "Искуство отладки" и Джесс Либерти "Искусство отладки"
узнай что такое брекпоинт и так далее
прочти книги, очень советую Мет Теллес "Искуство отладки" и Джесс Либерти "Искусство отладки"
Hастоящий админ знает только одно оскорбление - "ты юзер".
DANGER: DESKTOP FreeBSD USER
DANGER: DESKTOP FreeBSD USER
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2011-09-16 15:29:01
Re: Как найти ошибку в ядре (модуле ядра)?
Лог чего сохранить? core-файл не создаётся, система просто молча ребутится. Не штатно ребутится, а гаснет дисплей.res251 писал(а):лог сохрани и документацию для разработчиков прочти, core для тренировки
узнай что такое брекпоинт и так далее
прочти книги, очень советую Мет Теллес "Искуство отладки" и Джесс Либерти "Искусство отладки"
Я знаю что такое брейкпоинт.
За книги спасибо.
- res251
- мл. сержант
- Сообщения: 87
- Зарегистрирован: 2012-02-26 0:03:34
- Откуда: UA
- Контактная информация:
Re: Как найти ошибку в ядре (модуле ядра)?
как лог чего, отладки, ты знаешь модуль, приатачся к нему и иследуй
я б так сделал
я б так сделал
Hастоящий админ знает только одно оскорбление - "ты юзер".
DANGER: DESKTOP FreeBSD USER
DANGER: DESKTOP FreeBSD USER
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2011-09-16 15:29:01
Re: Как найти ошибку в ядре (модуле ядра)?
Я не знаю что именно в ядре (или модуле ядра) вызывает ребут. Я знаю как эту ситуацию воспроизвести.res251 писал(а):как лог чего, отладки, ты знаешь модуль, приатачся к нему и иследуй
я б так сделал
Кто-нибудь имеет практический опыт?
- res251
- мл. сержант
- Сообщения: 87
- Зарегистрирован: 2012-02-26 0:03:34
- Откуда: UA
- Контактная информация:
Re: Как найти ошибку в ядре (модуле ядра)?
http://www.freebsd.org.ua/doc/ru_RU.KOI ... BUG-OBTAIN
я же писал выше почитай про Руководство FreeBSD для разработчиков
читай
я же писал выше почитай про Руководство FreeBSD для разработчиков
читай
Hастоящий админ знает только одно оскорбление - "ты юзер".
DANGER: DESKTOP FreeBSD USER
DANGER: DESKTOP FreeBSD USER
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Как найти ошибку в ядре (модуле ядра)?
когда падает программа - она вываливается в корку
ядро банально не может вывалиться в корку поскольку может статься так что не будет работать драйвер дисков/планировщик/меммен
поэтому корка ядра вываливается в своп и там остается, потом скидывается в файл. читать http://www.freebsd.org/doc/ru/articles/ ... relim.html
выпрыгнуть из рабочей системы в отладчик ядра можно, например написать простейший модуль ядра, который поделит это самое ядро на ноль. вроде в сисконс была комбинация для выхода в ддб, системный вызов есть для того чтобы уронить ядро. в отладочных целях, разумеется
ядро банально не может вывалиться в корку поскольку может статься так что не будет работать драйвер дисков/планировщик/меммен
поэтому корка ядра вываливается в своп и там остается, потом скидывается в файл. читать http://www.freebsd.org/doc/ru/articles/ ... relim.html
выпрыгнуть из рабочей системы в отладчик ядра можно, например написать простейший модуль ядра, который поделит это самое ядро на ноль. вроде в сисконс была комбинация для выхода в ддб, системный вызов есть для того чтобы уронить ядро. в отладочных целях, разумеется
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Как найти ошибку в ядре (модуле ядра)?
А можно узнать, что за ситуация? Чисто спортивный интерес.