pmtest7的调试,从dos返回到bochs
2011-05-03 15:48
239 查看
转载与看雪学院:http://bbs.pediy.com/showthread.php?t=116110
Xiilin:
我在看于渊的《Orange'S...》这本书,我调试一个程序时却出现了问题,程序做的事情是首先从实模式切换到保护模式,然后在保护模式下读取0x00500000地址的内存,然后显示出来。
我在Bochs虚拟机下的FreeDos系统上用debug32调试的这个程序,可只能调试到这里:
mov eax,cr0
or eax,1
mov cr0,eax ;调试到这一句时,FreeDos会重启
麻烦大家给我指点一下,我要怎么样才能继续调试下去?我想跟到保护模式的代码里。
--------------------------------------------------------------------------------
xiilin:
已解决,感谢天杀老大指点的方法。
在Bochs的配置文件里加上一句magic_break: enabled=1,然后在程序里加上一句xchg bx,bx,运行到这条指令时会断到Bochs调试器里。这样就可以继续调试下去了。
在Bochsrc_sample.txt里有提到过的,我居然没有仔细看。
---------------------------------------------------------------------------------
羽毛飘飘:
xiilin,你好!
我遇到了和你同样的问题,deug32调式有问题。
但是我用你说的方法试了但还是没能返回bochs的调试,下面是我的操作流程,您帮着给看看拿步出问题了。
1.修改bochsrc文件
在文件末尾增加“magic_break: enabled=1”
2.pmtest.asm文件中增加语句chg bx, bx,选了2个地方都没有成功
%include "pm.inc" ; 常量, 宏, 以及一些说明
;xchg bx, bx
org 0100h
;xchg bx, bx
jmp LABEL_BEGIN
3.启动bochs
bochs -f bochsrc
4.选择6
Please choose one: [6]
5.让bochs运行
<bochs:1> c 回车
6.在freedos中进入b盘,运行pmtest2.com
7.dos屏幕上显示处红色的打印字符串
未能成功的停在bochs中。
帮忙看看,我那里操作有问题阿?
------------------------------------------
羽毛飘飘:
谢谢!
谢谢回复!
问题找到了,原来是我没有把新编译生成的com文件拷贝到pm.img中。
比较低级的错误,惭愧。
Xiilin:
我在看于渊的《Orange'S...》这本书,我调试一个程序时却出现了问题,程序做的事情是首先从实模式切换到保护模式,然后在保护模式下读取0x00500000地址的内存,然后显示出来。
我在Bochs虚拟机下的FreeDos系统上用debug32调试的这个程序,可只能调试到这里:
mov eax,cr0
or eax,1
mov cr0,eax ;调试到这一句时,FreeDos会重启
麻烦大家给我指点一下,我要怎么样才能继续调试下去?我想跟到保护模式的代码里。
--------------------------------------------------------------------------------
xiilin:
已解决,感谢天杀老大指点的方法。
在Bochs的配置文件里加上一句magic_break: enabled=1,然后在程序里加上一句xchg bx,bx,运行到这条指令时会断到Bochs调试器里。这样就可以继续调试下去了。
在Bochsrc_sample.txt里有提到过的,我居然没有仔细看。
---------------------------------------------------------------------------------
羽毛飘飘:
xiilin,你好!
我遇到了和你同样的问题,deug32调式有问题。
但是我用你说的方法试了但还是没能返回bochs的调试,下面是我的操作流程,您帮着给看看拿步出问题了。
1.修改bochsrc文件
在文件末尾增加“magic_break: enabled=1”
2.pmtest.asm文件中增加语句chg bx, bx,选了2个地方都没有成功
%include "pm.inc" ; 常量, 宏, 以及一些说明
;xchg bx, bx
org 0100h
;xchg bx, bx
jmp LABEL_BEGIN
3.启动bochs
bochs -f bochsrc
4.选择6
Please choose one: [6]
5.让bochs运行
<bochs:1> c 回车
6.在freedos中进入b盘,运行pmtest2.com
7.dos屏幕上显示处红色的打印字符串
未能成功的停在bochs中。
帮忙看看,我那里操作有问题阿?
------------------------------------------
羽毛飘飘:
谢谢!
谢谢回复!
问题找到了,原来是我没有把新编译生成的com文件拷贝到pm.img中。
比较低级的错误,惭愧。
相关文章推荐
- bochs调试DOS下程序
- bochs利用中断调试dos程序
- 终于搞定bochsdbg调试dos下保护模式程序
- 终于搞定bochsdbg调试dos下保护模式程序
- CentOS 6 + bochs-2.6 + gdb 调试 linux 0.11 —— 成功
- 《一个操作系统的实现》阅读笔记 之 开发『调试』环境bochs的搭建
- 用内存断点找OEP 问题 脱壳时提示无法读取被调试进程的内存 bad dos signature
- 关于java函数传递的,调试时jianshu()返回失败,求指教!!!
- android调试bug集锦 onActivityResult立即返回,并且被CANCEL
- Delphi经典执行DOS并返回结果代码(收集的)
- Dos下怎么返回上一级目录(DOS命令大全)
- Bochs调试指令
- windows下bochs和linux0.11调试环境的建立
- Bochs调试加载符号文件的问题
- 获取DOS命令的返回值.
- 使用bochs和gdb联合调试Linux内核
- bochs的调试
- bochs调试指令
- ubuntu 9.04 安装带调试功能的bochs (转)
- scrapy shell 调试返回403 返回为[]