通过KGDB调试代码

时间:2012-10-15 12:52:11

标签: remote-debugging

我想调试我的代码,它也有一些内核模块。我能够在内核和代码中设置断点。执行操作会遇到内核代码中设置的断点,但不会触及我的代码中的断点。

目标机器:要调试代码的机器 主机:用于调试代码的机器

遵循的步骤: 主持人:

$ gdb vmlinux
(vmlinux copied  from target machine )                                                                                                                                                         
$ gdb> target remote /dev/ttyS1   
$ cont
 continuing

目标:     $ insmod mymodule.ko     $ cd / sys / module / mymodule / sections /     $ cat .data     $ cat .rodata     $ cat .bss     $ cat .text

$ echo "g" > /proc/sysrq-trigger

在主持人身上:

    $ add-symbol-file <module_name> <address> \
 -s .bss    <address> \
 -s .rodata <address> \
 -s .data   <address>   
$ b file_name //set break points    
$ c
 continuing      

目标:          执行命令(程序).....但它没有命中断点......完成执行而不会遇到断点。

但是当我尝试将断点设置为某些内核函数(如vfs_read())时,正在触发断点。

0 个答案:

没有答案