Hello Martin and Dennis,
On Wed, Apr 16, 2014 at 5:27 PM, Martin Kepplinger <[email protected]>wrote: > Am 16.04.2014 13:43 schrieb Denis Pithon: > > Martin, > > > > I'm not sure did you enable DDEBUG when compiling your module ? > > pr_debug() macro is discarded if you omit DEBUG in compile time > > > > A sample Makefile which enable pr_debug() : > > > > obj-m += my_modue.o > > > > KDIR ?= /lib/modules/`uname -r`/build > > CFLAGS_my_module.o := -DDEBUG > > > > all: > > make -C $(KDIR) M=$(PWD) modules > > > > clean: > > make -C $(KDIR) M=$(PWD) clean > > > > Let me know ... > > regards > > Thanks, > > I did not, but now added -DDEBUG. The exact line is: > CFLAGS_my_module.o := -DDEBUG > when "my_module.o" is my object file. Did I get that right? > > That doesn't change anything unfortunately. I can not read pr_debug() > unless I > explicitely activate it in /sys/kernel/debug/dynamic_debug/control > *after* insmod. > Adding -DDEBUG will not change anything if CONFIG_DYNAMIC_DEBUG is defined in your .config The reason is because CONFIG_DYNAMIC_DEBUG has priority over DEBUG. File:include/linux/printk.h --------------------------stripped------------------------------- #if defined(CONFIG_DYNAMIC_DEBUG) /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ #define pr_debug(fmt, ...) \ dynamic_pr_debug(fmt, ##__VA_ARGS__) #elif defined(DEBUG) #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #else #define pr_debug(fmt, ...) \ no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #endif --------------------------stripped------------------------------- So the quick way is to disable CONFIG_DYNAMIC_DEBUG and add -DDEBUG in your makefile. Thanks, Arun > > I'd like to just read all pr_debug() messages like pr_info(). > > thanks for your time! > > > > > On Wed, Apr 16, 2014 at 1:11 PM, Martin Kepplinger <[email protected]> > > wrote: > > > >> Am 16.04.2014 11:58 schrieb Arun KS: > >> > >>> Hi Martin, > >>> > >>> On Wed, Apr 16, 2014 at 2:46 PM, Martin Kepplinger > >>> <[email protected]> > >>> wrote: > >>>> Am 2014-04-16 11:00, schrieb Arun KS: > >>>>> Hi Martin, > >>> >> > >>>>> On Wed, Apr 16, 2014 at 2:13 PM, Martin Kepplinger > >>>>> <[email protected]> wrote: > >>>>>> I'm on Debian here and I don't really get pr_debug and > >>>>>> printk(KERN_DEBUG > >>> >>> ...). Let's stick to pr_debug. > >>>>>> > >>>>>> I have DYNAMIC_DEBUG enabled and > >>>>>> root@laptop:/proc/sys/kernel# cat /proc/sys/kernel/printk > >>>>>> 7 7 1 7 > >>> >> This shows the console log level. > >>>>> This file controls the traffic to console. But all the log > >>>>> messages > >>>>> will be present in logbuf. > >>>> > >>>> How do I view debug messages from logbuf? > >>> > > >>>>> > >>>>>> > >>>>>> I write a module with pr_debug's. I load the module and I *don't* > >>>>>> see > >>>>>> anything in /var/log/messages (or anywhere in /var/log/* ). > >>>>>> Adding > >>>>>> #define DEBUG doesn't help. > >>> >>> > >>>>>> /sys/kernel/debug/dynamic_debug/control has the pr_debug entries > >>>>>> I > >>>>>> use > >>>>>> in my loaded module. > >>>>>> > >>>>>> In short: How do I see debug log messages? Using pr_info() works > >>>>>> as > >>> >>> expected. What am I missing? Do I need to edit my Makefile? > >>>>> Did you enable dynamic printing for your file? > >>>>> > >>>>> Below command enables dynamic printing for file sdhci.c. > >>>>> echo 'file sdhci.c +p' > /sys/kernel/debug/dynamic_debug/control > >>> > > >>>> well. I tried that. The thing is, the pr_debug() symbols are in > >>>> "control" only after "insmod my_module". Then I can echo -n 'file > >>>> my_mobule.c +p' > control > >>>> But my pr_debug() messages get printed directly after insmod, > >>>> basically > >>> > in my module_init function. Enabling my file doesn't output > >>> anything in > >>>> /var/log/* > >>> So now you know why your pr_debug is absent in logbuf. > >>> > >>> You can make your module as a built in and use bootargs. > >>> > >>> eg: > >>> dyndbg="file your_filename.c +p" > >>> > >>> Thanks, > >>> Arun > >>> > >> > >> So it's *not* possible at all to get pr_debug() messages just like > >> pr_info() messages? > >> Of what I've read, I assumed pr_debug() is just loglevel 7. > >> > >> thanks for your help! > >> > >>>> > >>>>> > >>>>> > >>>>> Thanks, > >>>>> Arun > >>>>>> > >>>>>> thanks! > >>>>>> martin > >>> >>> > >>>>>> -- > >>>>>> Martin Kepplinger > >>>>>> e-mail martink AT posteo DOT at > >>>>>> chat (XMPP) martink AT jabber DOT at > >>>>>> > >>>>>> _______________________________________________ > >>> >>> Kernelnewbies mailing list > >>>>>> [email protected] > >>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1] > >>>>>> [1] > >> > >>> >> > >>>>> _______________________________________________ > >>>>> Kernelnewbies mailing list > >>>>> [email protected] > >>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1] > >>>>> [1] > >> > >>> >> > >>>> > >>>> > >>>> _______________________________________________ > >>>> Kernelnewbies mailing list > >>>> [email protected] > >>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1] > >>>> [1] > >>> > >>> Links: > >>> ------ > >>> [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > >>> [1] > >> > >>> > >>> _______________________________________________ > >>> Kernelnewbies mailing list > >>> [email protected] > >>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1] > >> > >> _______________________________________________ > >> Kernelnewbies mailing list > >> [email protected] > >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies [1] > > > > > > > > Links: > > ------ > > [1] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > _______________________________________________ > > Kernelnewbies mailing list > > [email protected] > > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
