写操作系统如何调试啊? 大家交流一下, 来者有分.

aprilsnow 2003-07-25 04:31:36

尤其是一些要求特权级的代码, 如何才能方便调试呢?

我现在采取的办法:

1. 写 0 到 10H 的异常处理程序.

2. 使用虚拟机(重启方便啊).


可是我发现这两个办法还是比较笨, 首先有了异常即便捕捉到的话, 也只能知道在哪个地址上出错了, 还要反汇编看是哪条指令不说, 有时候为什么出错都不知道. :-)

另外虚拟机也不能提供断点啊, 单步调试等等功能. 有了问题只能重启, 我头都大了.

请问各位有什么好办法呀? 尤其是易水等等高人.

...全文
68 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahalf 2003-08-02
  • 打赏
  • 举报
回复
虚拟机
Programmersheaven 2003-08-02
  • 打赏
  • 举报
回复
一般用“猜”的办法,出现错误后在可能出错的地方放一段子程序最出所有寄存器的值直接打印在屏幕上(不知道你要的这样够不够?)反正我是这样写的。www.mulanos.com
aprilsnow 2003-08-01
  • 打赏
  • 举报
回复
那么 Areslee(易水) 兄, 你写操作系统怎么写呢? 所有的代码都与 DOS 或 Windows 平台兼容?
zhaobird 2003-08-01
  • 打赏
  • 举报
回复
俺一直在关注这个问题。高手们多指点。
Areslee 2003-08-01
  • 打赏
  • 举报
回复
LINUX没研究过,不清楚
aprilsnow 2003-08-01
  • 打赏
  • 举报
回复
我的参考书目讲的是Linux, 上面用的是a.out格式的文件, 好像比较简单, 可是不是现在这种格式已经见不到了呀?
Areslee 2003-08-01
  • 打赏
  • 举报
回复
偶用VC
loyyer 2003-08-01
  • 打赏
  • 举报
回复
关注ing
ckp 2003-08-01
  • 打赏
  • 举报
回复
学习
aprilsnow 2003-07-31
  • 打赏
  • 举报
回复
我想做一个一步到位的努力, 就是研究一下 ELF 文件格式, 然后所有程序在 Linux 下编译, 然后再写一个程序加载器, 让我的操作系统一开始就支持 ELF 文件.

大家觉得这个主意是好是坏?

给点意见请, 谢谢!!!
tfxg 2003-07-29
  • 打赏
  • 举报
回复
大高级了。非我能及也
aprilsnow 2003-07-28
  • 打赏
  • 举报
回复
用 C 写代码如果产生 32 位程序的话, 必须找一个 DOS 的 32 位编译器啊.

请问有谁知道什么编译器可以以及在哪里找得到?
ckp 2003-07-28
  • 打赏
  • 举报
回复
关注
aprilsnow 2003-07-28
  • 打赏
  • 举报
回复
我总得用 C 写一部分代码吧, 老用汇编有点不爽了.
Areslee 2003-07-28
  • 打赏
  • 举报
回复
代码就用MASM写就行,等你和内核可以使用了再考虑兼容的问题吧
DoItFreely 2003-07-28
  • 打赏
  • 举报
回复
要在dos下调试a.out,记得有一个……程序可以,程序是有,这个不能帮助你解决太多问题。
好象虚拟PC可以支持任何操作系统呀。
只差没有内嵌的调试器!
希望哪些高手可以破解出虚拟PC执行客户OS的代码入口,那样的话大家就在宿主PC里面装Softice来调试好了
Areslee 2003-07-28
  • 打赏
  • 举报
回复
DJGPP
wuliao_ogg2 2003-07-27
  • 打赏
  • 举报
回复
呵呵,那就用DOS下的编译器呀。偶就在用masm写呢
once_a_day 2003-07-27
  • 打赏
  • 举报
回复
gz
gzyip 2003-07-26
  • 打赏
  • 举报
回复
用软盘会不会好一点?
加载更多回复(6)

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧