如何调试操作系统内核及引导程序?

时间:2022-04-08 15:45:02
如题,本人认为此类程序都应该用虚拟机来调试,但试用了几种虚拟机,始终觉得不甚理想。

Virtual PC: 几乎没有任何调试手段,只能往屏幕上写信息进行简单又别扭的调试,动不动还弹出个对话框说“遇到错误需重启”,也不知道到底什么错误。

Bochs: 算好一些的了,但也遇到许多不知是不是bug的情况,比如int 13h有时会死机,有的地方连续运行能通过但单步运行就死机,有时还莫名退出,提示信息也很少。

VMWare: 不那么熟悉,不知道有完善的调试功能么?感觉不会像Virtual PC一样吧?

Qemu: 同样不熟悉,有用过的哥们吗,给讲一讲~

大家给推荐推荐各种调试手段哈,谢了

6 个解决方案

#1


Bochs应该是最好的, 虽然速度慢点.
编译的时候打开: --enable-debugger, 这样可以使用bochs内置的debugger.
还可以和bfe2(一个图形界面调试器)一起使用, 这个软件实际上使用bochs的
internal debugger来实现其功能的, 但是只支持bochs 2.0.2

你可以在代码中插入hlt指令来返回到debugger中.

#2


bochs internal debugger:
http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/book1.html

#3


还是静态分析吧

#4


自己up一下,集思广益……

#5


~关注~

#6


还是Bochs比较好

#1


Bochs应该是最好的, 虽然速度慢点.
编译的时候打开: --enable-debugger, 这样可以使用bochs内置的debugger.
还可以和bfe2(一个图形界面调试器)一起使用, 这个软件实际上使用bochs的
internal debugger来实现其功能的, 但是只支持bochs 2.0.2

你可以在代码中插入hlt指令来返回到debugger中.

#2


bochs internal debugger:
http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/book1.html

#3


还是静态分析吧

#4


自己up一下,集思广益……

#5


~关注~

#6


还是Bochs比较好