LINUX.ORG.RU

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

 , ,


0

2

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

Deleted

Последнее исправление: rustcox (всего исправлений: 2)

Или опиши что ты хочешь нормальным техническим языком, или завязывай с тяжёлыми наркотиками.

mord0d ★★★★★
()

Быстрее просто в текстовом редакторе понавставлять таких строчек.

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

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

Deleted
()

не во всяком контексте можно вызывать printk

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

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

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

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

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

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

mord0d ★★★★★
()

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

Makhno
()

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

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

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.