Как эффективно использовать трассировку стека (из ядра или дампа ядра )?

Если вам повезет, когда ваш модуль ядра выйдет из строя, вы получите oops с журналом с большим количеством информации, такой как значения в регистрах и т. д. Одной из таких сведений является трассировка стека (То же самое верно для дампов ядра, но изначально я просил об этом для модулей ядра ). Возьмем этот пример :

[<f97ade02>] ? skink_free_devices+0x32/0xb0 [skin_kernel]
[<f97aba45>] ? cleanup_module+0x1e5/0x550 [skin_kernel]
[<c017d0e7>] ? __stop_machine+0x57/0x70
[<c016dec0>] ? __try_stop_module+0x0/0x30
[<c016f069>] ? sys_delete_module+0x149/0x210
[<c0102f24>] ? sysenter_do_call+0x12/0x16

. Я предполагаю, что +<number1>/<number2>имеет какое-то отношение к смещению от функции, в которой произошла ошибка. То есть, проверив это число,возможно, глядя на вывод сборки, я смогу еще лучше узнать строку (, инструкцию ), в которой произошла эта ошибка. Это правильно?

У меня такой вопрос: каковы эти два числа? Как вы их используете?

18
задан Shahbaz 13 June 2013 в 09:09
поделиться