2015-04-02 82 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 2015-04-02 10:24:44

回答

2

因爲它是說here

在Linux內核中,你可以直接使用 「%PF」 的printk的格式!

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

而且你知道,printk參與,你可能已經使用some tools找到documentationabout it

+0

%pF只打印地址而不是名稱! – user3486405 2015-04-02 11:04:31

+0

@ user3486405不,請參閱[this](https://www.kernel.org/doc/Documentation/printk-formats.txt)。它打印名稱和地址。 – 2016-11-24 21:52:23