Лучшая практика для обновления собственного приложения

Нет простого пути. Эти сообщения предназначены для разработчиков ядра и опытных системных администраторов, а не для обычных пользователей. У них нет общей структуры (кроме числа в скобках, которое представляет собой количество секунд с момента загрузки ядра).

Вы можете найти текст сообщения в исходном коде ядра. Это может предоставить полезную информацию, даже если вы не знаете язык программирования C - по крайней мере, обнаружив, в каком файле находится сообщение, вы сможете узнать, какой драйвер отвечает за это. Либо сохраните локальную копию (в большинстве дистрибутивов есть пакет с исходным кодом ядра, например apt-get install kernel-source- X.XX && cd / usr / src && sudo tar xf linux -source- X.XX .tar.xz в Debian и производных) или используйте онлайн-браузер, такой как LXR в Free Electrons или LXR в Linux. нет (лучше поиск, но часто вниз).

При поиске помните, что сообщения не появляются в исходном коде буквально. Они часто состоят из шаблона и параметров. Например, вторая строка берется из функции blk_update_request в block / blk-core.c :

     printk_ratelimited(KERN_ERR "end_request: %s error, dev %s, sector %llu\n",
                        error_type, req->rq_disk ?
                        req->rq_disk->disk_name : "?",
                        (unsigned long long)blk_rq_pos(req));

Первый % s в шаблоне заменяется значением error_type , второй % s заменяется на req-> rq_disk-> disk_name (или ? , если это не задано), а % llu заменяется целым числом, возвращаемым blk_rq_pos (req) . Учитывая файл, в котором находится сообщение, он касается блочного устройства. Имя диска сообщает вам, какое устройство: sr0 . Если вы посмотрите на стандартные имена устройств , это будет «Первый SCSI CD-ROM» (фактически, первый оптический привод, поддерживающий SCSI-подобный протокол, включая большинство IDE / SATA и USB-накопителей).

Вы можете продолжить изучение сообщений, но здесь есть очевидная закономерность: все они связаны с sr . Все они вызваны одной и той же проблемой: ошибка чтения DVD в районе сектора 2035860 (т.е. около 1 ГБ в секторе размером 512 байт). Компьютеру внезапно сказали, что диска нет (или нечитаемый диск), и он попытался перейти в другой сектор и прочитать его тоже не удалось.

Это может быть пылинка, поцарапанный или иным образом поврежденный диск. Другие проблемы могут вызвать ошибки чтения, такие как поврежденный диск или плохой кабель, но они будут влиять на чтение все время, а не только определенную область определенного диска.

1
27.10.2015, 11:28
0 ответов

Теги

Похожие вопросы