Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3432629
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: LINUX

2008-09-02 15:27:04

在linux 0.11目录下有
start_bochs.bat 和start_gdb.bat两个文件,分别运行之,调试过程请参考截图debug-linux.JPG


其它的就不多说了,可以参考以下的帖子







给大家再发一个insight吧
mingw-insight 6.3,这样在windows下也可以用gui界面源码级调试linux内核了.
使用方法:
先运行start_bochs.bat,敲一下回车,显示waiting for gdb connection on localhost:1234
运行bin目录下的insight.exe
File->Open 打开linux-0.11\tools目录下的system.exe
File->Target Settings Target下拉列表中选择Remote/TCP,hostname:localhost,prot:1234
View->Console,打开控制台
Run->Run ,运行,停在startup_32
控制台中输入以下命令
(gdb) break start
Breakpoint 2 at 0x6624: file init/main.c, line 105.

(gdb) handle SIGSEGV noprint nostop ignore
Signal        Stop        Print        Pass to program        Description
SIGSEGV       No        No        No                Segmentation fault

(gdb) cont
Continuing.

Breakpoint 2, start () at init/main.c:105

[ 本帖最后由 log10 于 2008-4-7 12:29 编辑 ]



查看积分策略说明
附件
2008-4-5 21:17
(186.55 KB)
  调试截图
点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小
2008-4-5 21:17
  下载次数: 1098
(4.79 MB)
  自带gdb和支持gdb stub的bochs
2008-4-7 12:24
(179.57 KB)
 
点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小
2008-4-7 12:24
  下载次数: 1007
(5.1 MB)
 
顶部

很好很强大
看看我的




 

查看积分策略说明
附件
2008-4-5 22:03
(1.1 MB)
 
 

弱弱问一下,linux-0.11\tools目录下的system.exe在哪?没看到啊

Sorry,没看清楚说明,请见谅!
调试成功了

请教诸位大侠为什么我在一台电脑上可以用insight进行调试,在另一台上却不能,在insight中执行Run->Run时 ,弹出截图所示的提示



查看积分策略说明
附件
2008-5-13 14:26
(679.13 KB)
 
 


太好了,些内核如果不能调试的话,那就太难了,谢谢

呵呵,我找的就是这个东西,
没有这个东西,看代码真是不可想象,。。。

请教楼主,我能停在GUI,insight环境下的start函数里面。

我按照上面的设置方法,不能实现当按下RUN,停在startup位置。我是这么设置的,remote/tcp,hostname:127.0.0.1;port:8888.然后我在console window里面打入命令:target remote localhost,就可以把insight和bochs调试环境连接上。请问为什么当我一步步按s键调试时,发现调试指针乱跳,一会儿跳到下一行,一会又回跳,而且也跟不进函数里面去,比如mem_init。为什么哪?另外,我用GDB环境下,调试是正常的。


QUOTE:
原帖由 qiuchuirui 于 2008-4-16 09:32 发表
Sorry,没看清楚说明,请见谅!
调试成功了

我也没有那个文件,请问你怎么解决的呀,谢谢

我也没有看见system.exe文件,是否要从其他地方拷贝过来一个的?

回复 #10 baozii 的帖子

在linux 0.11目录下有有个readme.txt文件,按照文件中的步骤,重新编译就会产生system.exe文件了

OH~!

果然,谢谢!!

那天忙活了好几个小时都没有搞定……

为什么我调试到这里,数据结构tty 的地址是0x0
这是刚开始 打印Insert root floppy and press ENTER到控制台时,调用con_write时出现的。

在跟踪 tty_write时,挺正常的 tty地址是0x1bc10.
调用tty->write (tty);  跳到函数con_write时,tty地址显示的就不对了。
但GETCH (tty->write_q, c); 得到的字母c是 正确的。

大虾们看看是什么原因
点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小

[ 本帖最后由 ehyyngp 于 2008-8-18 15:09 编辑 ]


问题已解决.(不能识别汉字路径)

[ 本帖最后由 skyniu 于 2008-8-19 11:14 编辑 ]


真的很好用,谢谢,谢谢!

阅读(2362) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~