中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 23:50
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分 查看 1,155 回复 13
楼 主 [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分 发表于 2008-06-08 21:35 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
RT.
用Debug XXX.txt加载以后.
附近的东西怎么都差不多..郁闷.
在Google上搜索过.但是没看见这个方面的解答..

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

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

谢谢各位了.

[ Last edited by knoppix7 on 2009-5-2 at 00:32 ]
2 发表于 2008-06-08 22:46 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
汗,不懂debug,因此对于兄弟的问题是无能为力了,也想学学这个东东,就是一直下不了这个决心,因为在实际中也好像没什么地方要用到debug。。。
批处理之家新域名:www.bathome.net
3 发表于 2008-06-08 23:04 ·  中国 广东 广州 天河区 电信
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
debug 有64kb的限制, 如果要突破这个限制,可试一试用 TODISK,它没有这个限制,如下:
http://www.cn-dos.net/forum/viewthread.php?tid=28884
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
knoppix7 +5 2008-06-18 18:09
4 发表于 2008-06-09 04:39 ·  法国
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
19年会员
UID 74627
性别 男
状态 离线
dfff,1fff 这里假设为结束位置为1fff 要看你超过了多少,既然你加载到内存就读的出来
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
knoppix7 +5 2008-06-18 18:09
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
5 发表于 2008-06-18 18:39 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
Originally posted by GOTOmsdos at 2008-6-8 11:04 PM:
debug 有64kb的限制, 如果要突破这个限制,可试一试用 TODISK,它没有这个限制,如下:
http://www.cn-dos.net/forum/viewthread.php?tid=28884&fpage=1&highlight=%2B%2Bgotomsdos



搜索的话要怎么弄?
看过前几页的说明.,没有找到相关的东西.
6 发表于 2008-06-18 18:43 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
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以后该怎么搜索?..
7 发表于 2008-06-18 21:49 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
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 ]
8 发表于 2008-06-18 22:29 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
谢谢了.
主贴忘说了.
我需要读取制定关键字[如:"DIM "]后N个字节的内容.
如果搜索不到制定关键字的地址的话还是不行.
9 发表于 2008-06-18 22:30 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
如果不行就研究一下Find+For的定位法.
10 发表于 2008-06-18 23:32 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
Originally posted by knoppix7 at 2008-6-18 10:29 PM:

我需要读取制定关键字后N个字节的内容.


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

如果我有时间可以给你写一个
11 发表于 2009-04-23 11:46 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
debug 是可以处理大于64K的数据的,
可以用段前缀来协助就可以了。

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

要看下一个64K的数据这样就可以了:d 1afa:0
支持这样收索:s 1afa:0 lffff "DIM"
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
s11ss +5 2009-04-23 22:22
knoppix7 +15 2009-04-24 09:39
精简
=> 个人网志
12 发表于 2009-04-23 14:42 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
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的文件?
13 发表于 2009-04-23 21:08 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
这要看常规内存有多大了,通常来说是达不到640K的,
因为那640k内存中还有系统占用(向量表,ascii码表,键盘缓冲等),以及debug.com本身占用。
一般的情况是600k左右吧,没有去测试过。
有一点就是,只要能加载,就能处理。
只要是1M以内的内存debug就能操作,但是它无法把文件数加载到640以上的内。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
s11ss +5 2009-04-23 22:23
精简
=> 个人网志
14 发表于 2009-04-24 09:40 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
Originally posted by s11ss at 2009-4-23 02:42 PM:

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


mem 命令可以看.
论坛跳转: