设为首页 加入收藏

TOP

Linux下用GDB调试可加载模块
2014-11-24 08:32:24 来源: 作者: 【 】 浏览:1
Tags:Linux 下用 GDB 调试 加载 模块

这篇文章主要是对参考文章的简单整理,大同小异


首先,需要在编译模块时加入调试信息。两种方式,一种是编译时使用“make COPTS-g”,另一种是用“gcc -g”作为“gcc”的别名。


第二步,插入模块,找到模块的加载位置。原文是用kldstat命令,linux下没找到,但是可以通过


“cat /proc/modules | grep test”(假设模块名称为test.ko,注意不要带".ko")找到模块的加载地址,如下图所示:



第三步,找到代码段(.text段)的偏移量,如下图所示:




偏移量是.text对应的行中第四个十六进制字段(或者说从左往右数第六个字段)是.text段在文件中的偏移量。将这一偏移量与模块中的加载地址相加,就可以找到模块的代码在重定向之后的地址了。在我们的例子中,可以得到0xffffffffa001b000 + 0x00000040 = 0xFFFFFFFFA001B040。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HBase用一个MR同时写入两张表 下一篇C语言实现字符串替换函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·定义一个类模板并实 (2025-12-27 06:52:28)
·一文搞懂怎么用C语言 (2025-12-27 06:52:25)
·常用C模板范文_百度 (2025-12-27 06:52:21)
·【C语言】动态内存管 (2025-12-27 06:23:20)
·C语言中的内存管理 - (2025-12-27 06:23:16)