2015-04-02 4 views
0

Предположим, что в пространстве ядра есть указатель на функцию (sock-> ops-> ioctl()). Теперь, как напечатать имя функции, хранящейся в этом указателе, используя printk или любой другой метод, который вы знаете.Как напечатать имя функции указателя функции в API ядра?

+1

Возможный дубликат [Как получить имя функции от указателя функции в C?] (Http://stackoverflow.com/questions/351134/how-to-get-functions-name-from-functions-pointer-in- c) – Orace

ответ

2

Как это говорит here:

В ядре Linux, вы можете использовать непосредственно "% пФ" формат printk!

void *func = &foo; 
printk("func: %pF at address: %p\n", func, func); 

Кроме того, как вы знаете, что printk участвует, вы, возможно, использовали some tools найти documentationabout it.

+0

% pF печатает только адрес, а не имя! – user3486405

+0

@ user3486405 Нет, см. [This] (https://www.kernel.org/doc/Documentation/printk-formats.txt). Он печатает как имя, так и адрес. –

Смежные вопросы