Анализ инструментов сбоя: отладка из модулей деревьевLinux

Ответить
Anonymous
 Анализ инструментов сбоя: отладка из модулей деревьев

Сообщение Anonymous »

Я работаю над модулем ядра, который расширяет функциональность существующего модуля, такого как Ufs.ko. Когда я сталкиваюсь с сбоем в своем драйвере, я получаю файл VMCore, который я загружаю в инструмент сбоя. Тем не менее, инструмент ссылки на информационный пакет отладки ядра, который построен из другого исходного кода, чем тот, над которым я работаю. Это затрудняет отладку проблемы надлежащим образом, потому что исходный код модифицированного модуля (например, UFS.KO) не совпадает с информационным пакетом отладки в ядре, который сбой ссылается.
Цель: < /p>
Что мне нужно знать, так это то, можно ли связать файл .ko (тот, который я изменил) с исходным кодом моих изменений. В частности, я хочу загрузить правильную версию модуля ядра (с моими изменениями) для отладки, чтобы я мог коррелировать сбой с точными изменениями, которые я внес в исходный код.
Пример: < /p >
Например, если я изменял модуль UFS.KO, добавив новую функцию, но когда происходит сбой, я могу увидеть информацию отладки только из общего модуля ufs.ko в информации отладки ядра упаковка. Это не то же самое, что моя индивидуальная версия, что затрудняет определение точной строки кода, которая вызвала сбой. Debug/lib/modules/5.14.0-427.13.1.el9_4/vmlinux/var/crash/vmcore
crash> mod -s ufs /path/to/custom/ufs.ko < /p>
bt
#0 [ffffbb0dcfaabbd0] machine_kexec at ffffffff9a2781a7
#1 [ffffbb0dcfaabb28] __crash fffffff9a3f0778
... .br />#8 [ffffbbb0dcfaabd70] my_modified_funct /> Это не приводит меня к исправлению строк в исходном коде.
, потому что это связано с исходным кодом пакета DebugInfo. < /p>
Как я могу настроить источник соответствует пользовательскому файлу .ko

Подробнее здесь: https://stackoverflow.com/questions/794 ... ee-modules
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»