仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 793|回复: 10
打印 上一主题 下一主题

[其他Linux] 来看看:linux 内核模块调试

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 11:52:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup
 1.开启假造机,假造机运转到kgdb:Waitingforconnectionfromremotegdb
  2.在Host机上运转:socattcp-listen:8888/tmp/vbox2,个中/tmp/vbox2为管道文件,它是方针机串口的重定向目标文件,socat将这个管道文件又重定向到tcpsocket的8888端口。
  3.开启一个新的假造终端,cdpath/to/kernel/source/tree,然后实行gdb./vmlinux
  输入
  GNUgdb6.8-debian
  Copyright(C)2008FreeSoftwareFoundation,Inc.
  LicenseGPLv3+:GNUGPLversion3orlater<http://gnu.org/licenses/gpl.html>
  Thisisfreesoftware:youarefreetochangeandredistributeit.
  ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"
  and"showwarranty"fordetails.
  ThisGDBwasconfiguredas"i486-linux-gnu"...
  (gdb)set-remote
  setremotebaudrateto115200c/s
  setremotetargettolocaltcpsocket
  kgdb_breakpoint()atkernel/kgdb.c:1721
  1721wmb();/*Syncpointafterbreakpoint*/
  (gdb)c
  Continuing.
  方针时机一向启动,直到提醒输出用户名暗码。
  4.进进方针机,输出用户名暗码(保举利用字符界面下的root用户),输出g命令,方针机被断下,把持移交到Host机中的gdb中。(方针机root的用户目次中的.bashrc中增加一行aliasg=echog>/proc/sysrq-trigger)
  5.在Host机中的gdb中
  (gdb)set-mod-break
  setbreakpointinsystemmoduleinitfunction
  Breakpoint1at0xc014bac5:filekernel/module.c,line2288.
  (gdb)c
  Continuing.
  6.在方针机中
  insmodklogger2.ko
  方针机再次断下,把持权移交Host机中的gdb
  7.在Host机中的gdb中
  [NewThread4693]
  [SwitchingtoThread4693]
  Breakpoint1,sys_init_module(umod=0x0,len=0,uargs=0x0)
  atkernel/module.c:2288
  2288if(mod->init!=NULL)
  (gdb)print-mod-segment
  Name:.note.gnu.build-idAddress:0xdf977058
  Name:.textAddress:0xdf975000
  Name:.rodataAddress:0xdf977080
  Name:.rodata.str1.4Address:0xdf9774b4
  Name:.rodata.str1.1Address:0xdf977522
  Name:.parainstructionsAddress:0xdf977a00
  Name:.dataAddress:0xdf978440
  Name:.gnu.linkonce.this_moduleAddress:0xdf978480
  Name:.bssAddress:0xdf978a00
  Name:.symtabAddress:0xdf977a08
  Name:.strtabAddress:0xdf978078
  (gdb)add-symbol-file/home/done/programs/linux-kernel/vlogger/klogger2.ko0xdf975000-s.data0xdf978440-s.bss0xdf978a00
  addsymboltablefromfile"/home/done/programs/linux-kernel/vlogger/klogger2.ko"at
  .text_addr=0xdf975000
  .data_addr=0xdf978440
  .bss_addr=0xdf978a00
  (yorn)y
  Readingsymbolsfrom/home/done/programs/linux-kernel/vlogger/klogger2.ko...done.
  (gdb)bhook_init
  Breakpoint2at0xdf976d19:file/home/done/programs/linux-kernel/vlogger/hook.c,line255.
  (gdb)
  你能够调试本人些的LKM模块了
  附gdb的初始化设置文件~/.gdbinit
</p>
12下一页


但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。
蒙在股里 该用户已被删除
沙发
 楼主| 发表于 2015-1-16 13:13:01 | 只看该作者

来看看:linux 内核模块调试

安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh
  defineset-remote
  echosetremotebaudrateto115200c/s\n
  setremotebaud115200
  echosetremotetargettolocaltcpsocket\n
  targetremotetcp:localhost:8888
  end
  defineset-mod-break
  echosetbreakpointinsystemmoduleinitfunction\n
  breakkernel/module.c:2288
  end
  defineprint-mod-segment
  set$sect_num=mod->sect_attrs->nsections
  set$cur=0
  while$cur<$sect_num
  printf"Name:%-sAddress:0x%x\n",mod->sect_attrs->attrs[$cur]->name,mod->sect_attrs->attrs[$cur]->address
  set$cur=$cur+1
  end
  end
  跋文:gdb的调试剧本真难写,复杂的字符串变量毗连和等价判别都显得好不容易,不晓得是我程度太差仍是gdb的剧本功效太弱,总之比起Windbg来讲,内核调试坚苦水平上了个品级

</p>
上一页12


按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:
山那边是海 该用户已被删除
板凳
发表于 2015-1-18 16:28:09 | 只看该作者
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
小女巫 该用户已被删除
地板
发表于 2015-1-27 11:57:09 | 只看该作者
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
海妖 该用户已被删除
5#
发表于 2015-2-5 13:08:04 | 只看该作者
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-12 00:07:03 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
不帅 该用户已被删除
7#
发表于 2015-3-2 21:42:21 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
柔情似水 该用户已被删除
8#
发表于 2015-3-11 07:58:10 | 只看该作者
直到学习Linux这门课以后,我才知道,原来我错了。?
爱飞 该用户已被删除
9#
发表于 2015-3-18 03:26:12 | 只看该作者
学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。
小魔女 该用户已被删除
10#
发表于 2015-3-25 12:51:26 | 只看该作者
请问谁有Linux的学习心得的吗?简单的说说?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表