LINUX.ORG.RU

Отладочная печать

 , ,


0

2

Имеем файл с исходным кодом модуля ядра. Необходимо добавить в каждую функцию printk("%s\n", __func__);. Как это реализовать с помощью sed? Какие есть более адекватные способы вывода имен функций в порядке их вызова во время работы модуля?

Deleted

Ответ на: комментарий от anonymous

Именно так. Я уж думал, что у меня шизофазия. Нагуглил gcc функцию __cyg_profile_func_enter(), но пока вылетает «undefined symbols in kernel module». Мне это все надо для изучения исходного кода одного open source проекта, который состоит из нескольких модулей ядра.

Deleted ()
Ответ на: комментарий от anonymous

Да вроде вполне понятно, что он хочет видеть последовательность вызова функций в dmesg.

Не понятно, хочет ли он писать модуль ядра для отладки всего ядра или отлаживать модуль ядра. Трудно понять человека, который мыслит односложно.

mord0d ()
Ответ на: комментарий от Deleted

Я уж думал, что у меня шизофазия.

Нет. Но предложения односложные, изложение смазано, потому интерпретировать его можно аж двумя вариантами (смотри выше).

mord0d ()

Почему бы руками просто dump_stack() не впендюрить в интересующих местах (если ты это с целью посмотреть порядок вызовов затеваешь, конечно)? Ну и sed - не лучший интструмент для таких дел, да.

Makhno ()

Как только не извращаются люди, чтобы dtrace не использовать :) А, я забыл - в ляликс же нормальный dtrace так и не завезли.

anonymous ()
Ответ на: комментарий от anonymous

это какая-то жалкая пародия

ты хоть один модуль ядра написал ? по мне так трассировшик нужен чуть чаще чем никогда, то что ты так анаируешь на dtrace выдает в тебе дилетанта

anonymous ()