中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分
作者:
标题: [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分 上一主题 | 下一主题
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『楼 主』:  [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分

RT.
用Debug XXX.txt加载以后.
附近的东西怎么都差不多..郁闷.
在Google上搜索过.但是没看见这个方面的解答..

怎样才能搜索超过64K的部分??

一定要把文件按FFFF拆分后载完成搜索吗?

谢谢各位了.

[ Last edited by knoppix7 on 2009-5-2 at 00:32 ]

2008-6-8 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

汗,不懂debug,因此对于兄弟的问题是无能为力了,也想学学这个东东,就是一直下不了这个决心,因为在实际中也好像没什么地方要用到debug。。。



批处理之家新域名:www.bathome.net
2008-6-8 22:46
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 3 楼』:  

debug 有64kb的限制, 如果要突破这个限制,可试一试用 TODISK,它没有这个限制,如下:
http://www.cn-dos.net/forum/viewthread.php?tid=28884

   此帖被 +5 点积分      点击查看详情   
评分人:【 knoppix7 分数: +5  时间:2008-6-18 18:09


2008-6-8 23:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 4 楼』:  

dfff,1fff  这里假设为结束位置为1fff 要看你超过了多少,既然你加载到内存就读的出来

   此帖被 +5 点积分      点击查看详情   
评分人:【 knoppix7 分数: +5  时间:2008-6-18 18:09




菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
2008-6-9 04:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by GOTOmsdos at 2008-6-8 11:04 PM:
debug 有64kb的限制, 如果要突破这个限制,可试一试用 TODISK,它没有这个限制,如下:
http://www.cn-dos.net/forum/view ... ght=%2B%2Bgotomsdos

搜索的话要怎么弄?
看过前几页的说明.,没有找到相关的东西.

2008-6-18 18:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by PPdos at 2008-6-9 04:39 AM:
dfff,1fff  这里假设为结束位置为1fff 要看你超过了多少,既然你加载到内存就读的出来

D的确可以.
另外..S的话该怎么写..
-S 0000 l 1 "DIM "
-S 0000 l 10000 "dim "
              ^ Error
-S 0000 FFFFF "DIM"
            ^ Error

那么FFFF以后该怎么搜索?..

2008-6-18 18:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by knoppix7 at 2008-6-18 06:43 PM:



D的确可以.
另外..S的话该怎么写..
-S 0000 l 1 "DIM "
-S 0000 l 10000 "dim "
              ^ Error
-S 0000 FFFFF "DIM"
            ^ Error

那 ...

用debug 是不能处理超过64KB的文件的 !(最多是 FFFF个字节)
用TOdisk就可以
方法如下:

把文件 FILE 从 第100扇区处 开始,显示 12345个扇区 到屏幕 ,满屏暂停:

TOdisk -PFS -PAUSE FILE 100 12345

也可直接指定扇区的偏移(即第几个字节):
把文件 FILE 从 第100扇区处的第123个字节开始, 显示 12345个扇区 到屏幕 ,满屏暂停:
TOdisk -PFB -PAUSE FILE 100 123 12345

如不要暂停,去掉 -PAUSE 即可

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

TODISK还可用作文件截取器,方法如下:


把FILE1从内容的起始扇区45 偏移123处复制678个字节到FILE2中
TOdisk -FWF FILE1 45 123 FILE2 678

如果压缩:
TOdisk -FWFZ FILE1 45 123 FILE2 678

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
如果你不要显示,只要搜索,可以用 FIND 、FINDSTR 和 第三方程序,如 STRING 等

[ Last edited by GOTOmsdos on 2008-6-18 at 10:10 PM ]

2008-6-18 21:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 8 楼』:  

谢谢了.
主贴忘说了.
我需要读取制定关键字[如:"DIM "]后N个字节的内容.
如果搜索不到制定关键字的地址的话还是不行.

2008-6-18 22:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 9 楼』:  

如果不行就研究一下Find+For的定位法.

2008-6-18 22:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by knoppix7 at 2008-6-18 10:29 PM:

我需要读取制定关键字[如:"DIM "]后N个字节的内容.

find、findstr、strings、get 好像都不能直接做到。
而且 他们也仅仅能够找到字符串坐在的行数,不能得到精确的位置。
要写程序才行,否则只能借助程序手工解决

如果我有时间可以给你写一个

2008-6-18 23:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 11 楼』:  

debug 是可以处理大于64K的数据的,
可以用段前缀来协助就可以了。

如当前段为:ds=0afa
d 0 命令看到的是当前段数据

要看下一个64K的数据这样就可以了:d 1afa:0
支持这样收索:s 1afa:0 lffff "DIM"

   此帖被 +20 点积分       点击查看详情   
评分人:【 s11ss 分数: +5  时间:2009-4-23 22:22
评分人:【 knoppix7 分数: +15  时间:2009-4-24 09:39




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-23 11:46
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by netbenton at 2009-4-23 11:46 AM:
debug 是可以处理大于64K的数据的,
可以用段前缀来协助就可以了。

如当前段为:ds=0afa
d 0 命令看到的是当前段数据

要看下一个64K的数据这样就 ...

debug最大可以处理多大的文件?
我debug一个900多KB的文件提示什么“Insufficient memory”,最大能处理640KB的文件?

2009-4-23 14:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 13 楼』:  

这要看常规内存有多大了,通常来说是达不到640K的,
因为那640k内存中还有系统占用(向量表,ascii码表,键盘缓冲等),以及debug.com本身占用。
一般的情况是600k左右吧,没有去测试过。
有一点就是,只要能加载,就能处理。
只要是1M以内的内存debug就能操作,但是它无法把文件数加载到640以上的内。

   此帖被 +5 点积分      点击查看详情   
评分人:【 s11ss 分数: +5  时间:2009-4-23 22:23




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-23 21:08
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by s11ss at 2009-4-23 02:42 PM:

debug最大可以处理多大的文件?
我debug一个900多KB的文件提示什么“Insufficient memory”,最大能处理640KB的文件?

mem 命令可以看.

2009-4-24 09:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: