当前位置:  技术问答>linux和unix

内核模块调试

    来源: 互联网  发布时间:2016-03-12

    本文导语:  eax: 0027fc00      ebx: 00000000       ecx: 000003b3        edx: 08000000 esi: e004cff8      edi: e04004d0       ebp: df6f7f90        esp: df6f7f50 ds: 0068        es: 0068       ss: 0068 Process foo (pid: 393, st...

eax: 0027fc00      ebx: 00000000       ecx: 000003b3        edx: 08000000
esi: e004cff8      edi: e04004d0       ebp: df6f7f90        esp: df6f7f50
ds: 0068        es: 0068       ss: 0068
Process foo (pid: 393, stackpage=df6f7000)
Stack: e004a638 ffffffea c2390480 df6f7f90 df6f7f74 00000000 08000000 df6f7f80
       0000e540 e0049284 c01ba210 0020f000 08000000 03000000 e5400000 e0400000
       0000000c c014a383 c2390480 bffffb40 0000000c c23904a0 00000000 00000000
Call Trace: [] (0xdf6f7f50))
[] (0xdf6f7f74))
[] (0xdf6f7f78))-----------------write_chan
[] (0xdf6f7f94))-----------------sys_write
[] (0xdf6f7fc0))-----------------system_call
Code: 26 f3 0f 6f 06 26 f3 0f 7f 07 81 c6 10 00 00 00 81 c7 10 00
Segmentation fault

从System.map里能找到Call Trace里的三个内核函数,但是最终出错的是insmod的模块,应该怎么从e004a638、e0049284这些地址找到对应的函数呢?或者说,怎么能找到模块的起始地址?
指令如下:(用ndisasm -b 32得到的)
26F30F6F06        movdqu xmm0,[es:esi]
26F30F7F07        movdqu [es:edi],xmm0
81C610000000      add esi,0x10
81C710000000      add edi,0x10
但是这组指令在模块里多次出现,不知道是哪个。

|
用GDB在函数入口处加个断点看一下,一步步跑

PS:我试过的一般segmentation fault都是配置出了问题..

|
是不是用到了memcpy()之类的函数,里面的指针为空
还有指针之类的可以做为跟踪对象

|
不能对模块反汇编吗?

    
 
 

您可能感兴趣的文章:

  • kgdb调试环境配好了,怎么调试内核阿?????
  • Linux内核调试器
  • kprobes 内核调试工具
  • 到底怎么样调试linux内核啊?
  • (菜鸟飞飞,在线等)问个关于内核调试的问题
  • 如何调试LINUX内核
  • 在内核调试中如何写文件
  • 大侠帮忙!模块调试(非内核模块)
  • 调查一下:编写Linux内核模块 驱动程序各位高手所用的编辑环境和调试工具
  • 可以单步调试内核的执行吗?
  • 求linux 内核调试 书籍资料
  • 用vmware for windows怎么源码调试linux内核啊?我在网上查了,看不懂。
  • 关于内核调试的问题
  • 内核模块一加载计算机就死机,如何调试
  • 单机,调试内核时,无法进入调试状态,怎么回事?
  • 虚拟机搭建kgdb内核调试平台时出错
  • 关于qemu调试linux内核的问题
  • 求救:写的内核模块一加载就当机,怎么看系统日志调试啊??
  • OS 内核调试错误
  • GDB调试linux内核出现问题
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 内核模块跟内核版本不匹配????????
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 谁能提供kgdb内核补丁内核模块的下载
  • 驱动模块可以编入内核,想单独编译成模块,makefile怎么写?
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 求内核和用户态简单易行的通信方法,用户态只需得到一个内核模块参数
  • 内核模块是什么东西,怎么理解呢
  • Linux 内核模块编程问题!!!!
  • 内核模块和设备驱动的区别?
  • 怎么给内核加载自己编写的模块
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 编译新内核后怎么进入原来内核
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • docker使用的技术之Container内核原理介绍
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?
  • 如何学好内核?学了内核能应用于哪方面?
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3