Linux kgdb命令
2016-12-23 15:30
351 查看
Linux kgdb命令
一、简介
kgdb是一种源码级的Linux内核调试器。使用kgdb调试内核时,需要结合gdb一起使用,使用他们可以对内核进行单步调试,设置断点,观察变量、寄存器的值等与应用调试相关的功能。然而也有其限制条件,将在接下来kgdb调试器原理来讲述,本文仅简单介绍使用Kgbd的流程。
二、安装配置
1)打开kgdb与kdb配置选项,重新编译内核
2)启动项设置,分别对server和client的启动文件:/boot/grub/grub.conf,做如下修改
server:
client:
3)串口设置
三、使用实例
1)内核调试
2)模块调试
四、常见问题
1)以“-O -g”编译内核
2)kdb与kgdb模式相互切换
3)target remote /dev/ttyS1时,会出现错误“trace API error 0x2”。
一、简介
kgdb是一种源码级的Linux内核调试器。使用kgdb调试内核时,需要结合gdb一起使用,使用他们可以对内核进行单步调试,设置断点,观察变量、寄存器的值等与应用调试相关的功能。然而也有其限制条件,将在接下来kgdb调试器原理来讲述,本文仅简单介绍使用Kgbd的流程。
https://kgdb.wiki.kernel.org/index.php/Main_Page
二、安装配置
1)打开kgdb与kdb配置选项,重新编译内核
https://www.kernel.org/pub/linux/kernel/people/jwessel/kdb/CompilingAKernel.html#CompileKGDB
http://blog.chinaunix.net/uid-23366077-id-4711134.html
http://www.cnblogs.com/274914765qq/p/4978999.html
2)启动项设置,分别对server和client的启动文件:/boot/grub/grub.conf,做如下修改
server:
kgdboc=ttyS1,115200
client:
kgdboc=ttyS1,115200 kgdbwait
3)串口设置
http://www.cnblogs.com/274914765qq/p/5003513.html
三、使用实例
1)内核调试
http://blog.chinaunix.net/uid-20672257-id-2936794.html
2)模块调试
http://blog.chinaunix.net/uid-20672257-id-2936794.html
http://www.linuxidc.com/Linux/2013-01/77969.htm
四、常见问题
1)以“-O -g”编译内核
编译内核之前请注意:默认的Linux内核的编译都以-O2的优化级别进行。在这个优化级别之下,编译器要对内核中的某些代码的执行顺序进行改动,所以在调试时会出现程序运行与代码顺序不一致的情况。可以把Makefile中的-O2选项改为-O,但不可去掉-O,否则编译会出问题。为了使编译后的内核带有调试信息,注意在编译内核的时候需要加上-g选项。 不过,当选择"Kernel debugging->Compile the kernel with debug info"选项后配置系统将自动打开调试选项。另外,选择"kernel debugging with remote gdb"后,配置系统将自动打开"Compile the kernel with debug info"选项。
2)kdb与kgdb模式相互切换
http://www.zeuux.com/blog/content/3736/
3)target remote /dev/ttyS1时,会出现错误“trace API error 0x2”。
http://blog.csdn.net/guowenyan001/article/details/39345177
参考:http://blog.chinaunix.net/uid-25538637-id-261329.html
http://laokaddk.blog.51cto.com/368606/417414/
相关文章推荐
- 如何用drawtext在linux系统中开发实现中文字幕
- Linux备忘
- Linux下ip地址查询
- 理解 pkg-config 工具(linux编译辅助工具)
- Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置
- Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
- Linux_变量与搜索
- linux之V4L2摄像头应用流程
- linux上安装jdk并添加环境变量
- Linux Red hat修改主机名
- 查看HP-UX主机内存
- NIC Teaming on CentOS 7 with nmtui
- linux系统中如何查看日志(转)
- yum安装telnet服务
- CentOS7 yum搭建lamp
- Linux使用swap分区
- linux vi/vim使用
- Linux获取jdk版本中的“1.7.0_75”字符串
- 解决Windows记事本打开Linux程序注释乱码排版混乱的问题
- Linux下区分物理CPU、逻辑CPU和CPU核数