I am working in modframe
Inside Host, connect gdb via pts to VM.
Inside VM,
put the module in /root/Desktop/modexperiments/mf
make the module with all debugging info
add this line in Makefile... EXTRA_CFLAGS += -ggdb3
modframe.ko will be created
insert the module. then it will have a /sys/modules/modframe/sections/.text entry.
track that 0xf8031000
or try this
grep function_name /proc/kallsyms ... track that address
Inside Host,
copy mf directory into /root/Desktop/modexperiments/ ... so that the files are there.
Now we will add breakpoints.
Inside VM,
echo g > /proc/sysrq-trigger
This will hand transfer to gdb in host
Inside Host,
fire up gdb in host,
# add-symbol-file modframe.ko 0x########
-s .data 0x########
-s .bss 0x########
you can view listing, or put a break point b *0xf8031000
Inside VM,
or remove the modules... that will hit the breakpoint :)
Other interesting utilities
objdump is another utility (use -h flag)
Inside Host, connect gdb via pts to VM.
Inside VM,
put the module in /root/Desktop/modexperiments/mf
make the module with all debugging info
add this line in Makefile... EXTRA_CFLAGS += -ggdb3
modframe.ko will be created
insert the module. then it will have a /sys/modules/modframe/sections/.text entry.
track that 0xf8031000
or try this
grep function_name /proc/kallsyms ... track that address
Inside Host,
copy mf directory into /root/Desktop/modexperiments/ ... so that the files are there.
Now we will add breakpoints.
Inside VM,
echo g > /proc/sysrq-trigger
This will hand transfer to gdb in host
Inside Host,
fire up gdb in host,
# add-symbol-file modframe.ko 0x########
-s .data 0x########
-s .bss 0x########
you can view listing, or put a break point b *0xf8031000
Inside VM,
or remove the modules... that will hit the breakpoint :)
Other interesting utilities
objdump is another utility (use -h flag)
$ nm modframe.ko -- view symbols
or
$ objdump -t modframe.ko (all sections) $ objdump -t -j data modframe.ko (data section) $ objdump -t -j bss modframe.ko (BSS section)
Ref:
https://www.linux.com/learn/linux-career-center/33991-the-kernel-newbie-corner-
kernel-and-module-debugging-with-gdb
http://linux-hacks.blogspot.com/2009/07/using-gdb-for-debugging-kernel-modules.html
No comments:
Post a Comment