Chinaunix

标题: 请问可以单步和断点调试linux内核吗?and HOW?3Q... [打印本页]

作者: SCDXMOE    时间: 2013-01-18 19:26
标题: 请问可以单步和断点调试linux内核吗?and HOW?3Q...
如题....
作者: onlyxuyang    时间: 2013-01-19 13:59
keyi 用ice
作者: SCDXMOE    时间: 2013-01-20 13:33
回复 2# onlyxuyang


兄台:鄙人愚昧....请明示........3Q
作者: goingstudy    时间: 2013-01-20 17:37
用bochs就可以
作者: dingyujie    时间: 2013-01-22 10:52
X86内核代码不能完全去掉优化,你调试代码乱七八糟的。
作者: SCDXMOE    时间: 2013-01-22 20:38
大哥:请将清楚点可以吗?谢谢..回复 5# dingyujie


   
作者: dingyujie    时间: 2013-01-22 22:47
本帖最后由 dingyujie 于 2013-01-22 22:48 编辑

回复 6# SCDXMOE


   如果你调试的是x86架构下的代码,内核代码的正确运行依赖一些gcc提供的特殊优化处理,也就是-O系列的优化选项是不能去掉的。由于优化的存在,当你开启debug信息跟踪代码时会出现行号错乱等问题。。。懂没??
作者: SCDXMOE    时间: 2013-01-23 09:47
回复 7# dingyujie


     “如果你调试的是x86架构下的代码,内核代码的正确运行依赖一些gcc提供的特殊优化处理,也就是-O系列的优化选项是不能去掉的。由于优化的存在,当你开启debug信息跟踪代码时会出现行号错乱等问题。。。懂没?? ”
好像没有懂...那怎么才能调试内核啊?我试过KGDB 试过kdump 才查看内核奔溃的信息  在ubutun下面都没有实现过。。。
不知道要闹那样...

作者: dingyujie    时间: 2013-01-23 09:49
回复 8# SCDXMOE


我是说x86单步调试很恶心的,你可以选择其他的方式,别单步跟踪了。printk,kdump,systemtap等都是一些手段。   
作者: amarant    时间: 2013-01-26 13:22
qemu
作者: bboytaiwan    时间: 2013-01-26 19:23
其實一些有關於privileged instruction的部分不會經過優化,這部分如果有gdb就很方便。或者是如果需要撈出記憶體來看gdb就很方便,或者是設watch point。vmware內建就有gdb server,只要在config裡面把選像打開就行了,而且可以從一開始虛擬的bios就開始做single step。之後可以用guest os debug guest os或者是用host target remote到vmware。

可以參考我做的筆記。
https://docs.google.com/document ... Wd77a6QWSAcYwM/edit
作者: SCDXMOE    时间: 2013-01-27 14:44
回复 11# bboytaiwan


    谢谢...不过没有打开..
作者: myspace21    时间: 2013-01-27 17:35
linux单步调试的意义大吗?
作者: bboytaiwan    时间: 2013-01-27 19:44
本帖最后由 bboytaiwan 于 2013-01-27 19:46 编辑

再貼一次筆記網址:
https://docs.google.com/document ... Wd77a6QWSAcYwM/edit




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2