在VMware中用Kgdb调试linux内核和Cannot insert breakpoint Error accessing memory address的解决方法

来源:互联网 发布:淘宝网店关闭怎么激活 编辑:程序博客网 时间:2024/06/07 08:24

在VMware中用Kgdb调试linux内核参考:

http://blog.csdn.net/jie12310/archive/2009/09/18/4564853.aspx

设置断点后可能出现如下错误:

Cannot insert breakpoint 4.
Error accessing memory address 0xd0ce8000: 未知的错误 4294967295

原因:

内核编译选项CONFIG_DEBUG_RODATA,会对kernel text做write protect。 那么kgdb就不能设置断点了。

解决方法是:

编辑kernel source目录下生成的.config文件, 禁用CONFIG_DEBUG_RODATA=n (read only data)即可。

参考:

http://comments.gmane.org/gmane.linux.kernel.debugging.kgdb.bugs/4772

http://zh-kernel.org/pipermail/linux-kernel/2008-September/006875.html

http://blog.csdn.net/chaolumon/archive/2009/10/28/4736546.aspx

Powered by Zoundry Raven