无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 2011yaya2007777
打印 上一主题 下一主题

支持含有碎片的文件仿真

    [复制链接]
781#
发表于 2015-1-14 20:10:55 | 只看该作者
{:soso_e160:}老师们辛苦了,喝杯茶!
“问题”浮出水面,看来我等伸手党有福了……
回复

使用道具 举报

782#
发表于 2015-1-14 20:25:23 | 只看该作者
chenall 发表于 2015-1-14 19:51
谢谢你的努力.

通过你改动的代码终于发现了问题的原因.就是下面这一句

楼上grldr测试:
1) F6IMG 模拟, 成功
2)  F6IMG  实机,暂时测试不了。那机器在使用中。
3)map 10G, 耗27秒。

点评

map 10g的问题是由于我前面的附件是基于1224源码的. 我稍后上传一个基于最新版的源码上来.  详情 回复 发表于 2015-1-14 20:36
回复

使用道具 举报

783#
发表于 2015-1-14 20:36:08 | 只看该作者
mdyblog 发表于 2015-1-14 20:25
楼上grldr测试:
1) F6IMG 模拟, 成功
2)  F6IMG  实机,暂时测试不了。那机器在使用中。

map 10g的问题是由于我前面的附件是基于1224源码的.

我稍后上传一个基于最新版的源码上来.
回复

使用道具 举报

784#
发表于 2015-1-14 20:42:49 | 只看该作者
最新版本附件,请测试.

grub4dos-0.4.6a-2015-01-14.7z

270.38 KB, 下载次数: 34

点评

[attachimg]206859[/attachimg]  详情 回复 发表于 2015-1-14 21:13
回复

使用道具 举报

785#
发表于 2015-1-14 21:13:04 | 只看该作者
chenall 发表于 2015-1-14 20:42
最新版本附件,请测试.

回复

使用道具 举报

786#
发表于 2015-1-14 21:27:53 | 只看该作者
看起来应该是正常了.

点评

能不能先出个正式版。  详情 回复 发表于 2015-1-15 20:51
回复

使用道具 举报

787#
发表于 2015-1-15 20:51:05 | 只看该作者
本帖最后由 mdyblog 于 2015-1-15 20:56 编辑
chenall 发表于 2015-1-14 21:27
看起来应该是正常了.


能不能在下载页面先出个正式版。
回复

使用道具 举报

788#
发表于 2015-1-15 21:17:10 | 只看该作者
??正式版?0.4.6a的正式版还早着呢,

0.4.5c接一下没有什么问题的话就可以出正式版了.我现在也全部转到0.4.6a上了.

点评

0.46a 2015.0115 出现 系统哦年份堆栈耗尽: [attachimg]206915[/attachimg]  详情 回复 发表于 2015-1-16 08:52
grub4dos-0.4.6a-2015-01-15.7z: 启动 03PE-sATA :OK [attachimg]206910[/attachimg]  详情 回复 发表于 2015-1-16 07:19
就 767# 楼的哪个。 先做一个下载版本。 至于其它功能, 后面在恢复, 然后再出个下载版本。  详情 回复 发表于 2015-1-15 22:16
回复

使用道具 举报

789#
发表于 2015-1-15 22:16:17 | 只看该作者
chenall 发表于 2015-1-15 21:17
??正式版?0.4.6a的正式版还早着呢,

0.4.5c接一下没有什么问题的话就可以出正式版了.我现在也全部转到0.4 ...

就 767# 楼的哪个。 先做一个下载版本。

至于其它功能, 后面在恢复, 然后再出个下载版本。
回复

使用道具 举报

790#
发表于 2015-1-16 07:19:52 | 只看该作者
chenall 发表于 2015-1-15 21:17
??正式版?0.4.6a的正式版还早着呢,

0.4.5c接一下没有什么问题的话就可以出正式版了.我现在也全部转到0.4 ...

grub4dos-0.4.6a-2015-01-15.7z:
启动 03PE-sATA :OK

回复

使用道具 举报

791#
发表于 2015-1-16 08:52:37 | 只看该作者
本帖最后由 mdyblog 于 2015-1-16 08:55 编辑
chenall 发表于 2015-1-15 21:17
??正式版?0.4.6a的正式版还早着呢,

0.4.5c接一下没有什么问题的话就可以出正式版了.我现在也全部转到0.4 ...


0.46a 2015.0115 出现 系统堆栈耗尽:



我没有用 嵌套调用啊!


系统堆栈 多大?  保留保险区多大?

点评

你的脚本??? 目前 嵌套调用 保险区留了0x1000 也就是说从调用run_line命令时可以使用的的是(0x7000-0x3000)总共0x4000,超出的就报错. 我之前测试的时候计算了下, 嵌套调用一层太概需要304个字节,也就是说不  详情 回复 发表于 2015-1-16 09:20
回复

使用道具 举报

792#
发表于 2015-1-16 09:20:02 | 只看该作者
mdyblog 发表于 2015-1-16 08:52
0.46a 2015.0115 出现 系统堆栈耗尽:


你的脚本???

目前 嵌套调用 保险区留了0x1000

也就是说从调用run_line命令时可以使用的的是(0x7000-0x3000)总共0x4000,超出的就报错.

我之前测试的时候计算了下, 嵌套调用一层太概需要304个字节,也就是说不能 嵌套调用 太多层.

之前的版本用你的测试脚本,可以到79左右死机,其实是早就超出了系统可用的堆(这样会发生不可预料的错误)
你可以计算一下(0X7000-0X2000)/304

因为之前不点说过系统堆栈是从0x7000向下到0x2000,所以新版的限制了一下保留了0x1000.

如果不够用说明这个程序确实需要优化,当然我们也可以把保留区留小一些比如留个1KB,就是也不能保证够用.

点评

1) 用echo 跟踪流程。 发现是程序跑飞了。 莫名奇妙的往回跑 然后循环打印。 知道 打印 “系统堆栈耗尽”。 至于 为什么 换成新版 ,就这么奇怪, 还比清楚。 哦, 没和函数 我用 “goto :eof”返回的。  详情 回复 发表于 2015-1-16 11:41
1) 是我的脚本。 没有嵌套。 调用层级不超过9. 可能 是别的原因。 我再找找。 2) (0X7000-0X2000)/304=67 只能67层。 304? 怎么这么大? 用到 局部数组了吗? 用普通变量,得写道手酸。  详情 回复 发表于 2015-1-16 09:37
回复

使用道具 举报

793#
发表于 2015-1-16 09:37:43 | 只看该作者
chenall 发表于 2015-1-16 09:20
你的脚本???

目前 嵌套调用 保险区留了0x1000


1)
是我的脚本。
没有嵌套。
调用层级不超过9.

可能 是别的原因。 我再找找。



2)
(0X7000-0X2000)/304=67
只能67层。
304? 怎么这么大?
用到 局部数组了吗?
用普通变量,得写道手酸。




3)
还是建议, 保护模式用自己的堆栈。 开个大的。
我的程序基本能保证不超过30层。

但是一般人写程序,可麻烦了。
再说 递归算法 也是重要的算法, 一般人爱用的。
很多 递归算法, 转飞非递归算法, 对一般人还是非常难的。

怎么 也得1000层。

1M的保护膜式堆栈 不过分。 MS默认就1M。


1M /304=3449  层

回复

使用道具 举报

794#
发表于 2015-1-16 11:41:59 | 只看该作者
chenall 发表于 2015-1-16 09:20
你的脚本???

目前 嵌套调用 保险区留了0x1000

1)
用echo 跟踪流程。
发现是程序跑飞了。
莫名奇妙的往回跑
然后循环打印。
知道 打印 “系统堆栈耗尽”。
至于 为什么  换成新版 ,就这么奇怪, 还比清楚。

哦, 没和函数 我用 “goto :eof”返回的。


2)
能不能 767# 楼的那个 做一个下载版本。

至于其它功能, 后面在恢复, 然后再出个下载版本。

我看 0115版大了好多啊, 增加了好多东西吧。 内存也多了。 改变内存布局。

我要在说明书中 建议一个 g4d 版本。

点评

767#和下载站的是一样的源码的,效果应该是一样的. 我不明白你为什么一直强调要用767#的重新恢复?要恢复什么? 另外我对GRUB4DOS的内存布局不是很了解,不可能随意去改动内存布局的. 大了好多??我没有看出来大  详情 回复 发表于 2015-1-16 12:29
回复

使用道具 举报

795#
发表于 2015-1-16 12:03:44 | 只看该作者
好久没关注grub4dos了。
0115版的是否进一步限制了批处理的标签数量?
run用0110版测试正常,用0115版不能正常运行。经测试,发现标签在靠后的位置不能读取,将位置提前就能读取。

点评

建议 你试试 767# 那个版本。  详情 回复 发表于 2015-1-16 12:57
有发现什么问题,建议可以弄一个可以重现问题的环境或测试包(最好是能在虚拟中直接测试的)这样可以方便定位问题的原因.  详情 回复 发表于 2015-1-16 12:30
回复

使用道具 举报

796#
发表于 2015-1-16 12:29:30 | 只看该作者
mdyblog 发表于 2015-1-16 11:41
1)
用echo 跟踪流程。
发现是程序跑飞了。

767#和下载站的是一样的源码的,效果应该是一样的.

我不明白你为什么一直强调要用767#的重新恢复?要恢复什么?

另外我对GRUB4DOS的内存布局不是很了解,不可能随意去改动内存布局的.

大了好多??我没有看出来大了很多呀.


点评

>> chenall 你可以把你的脚本上传上来看下,不太可能会乱跑的. 发表于 2 分钟前 我这是 MBROS系统。 UDM磁盘核心中。不是一个文件。不好拿出来。 我看 能不能模拟出问题。  详情 回复 发表于 2015-1-16 13:17
1) 大了 2K 2)可能是你加了debug 的原因。 前面的版本 是没有加 debug 的。 那是0109 上 直接修复那个 问题。 0110开始的debug 没有恢复。 debug 模块 不是很关键,所以希望 debug前发布一个下载版本。 这  详情 回复 发表于 2015-1-16 12:56
回复

使用道具 举报

797#
发表于 2015-1-16 12:30:17 | 只看该作者
zxw 发表于 2015-1-16 12:03
好久没关注grub4dos了。
0115版的是否进一步限制了批处理的标签数量?
run用0110版测试正常,用0115版不 ...

有发现什么问题,建议可以弄一个可以重现问题的环境或测试包(最好是能在虚拟中直接测试的)这样可以方便定位问题的原因.

点评

zxw
很遗憾,经测试与标签数量无关。 抽空简化了一个批处理版本,人为设置了125个标签,运行正常。  详情 回复 发表于 2015-1-16 14:19
回复

使用道具 举报

798#
发表于 2015-1-16 12:56:18 | 只看该作者
chenall 发表于 2015-1-16 12:29
767#和下载站的是一样的源码的,效果应该是一样的.

我不明白你为什么一直强调要用767#的重新恢复?要恢 ...

1) 大了 2K

2)可能是你加了debug 的原因。

前面的版本 是没有加 debug 的。
那是0109 上 直接修复那个 问题。 0110开始的debug 没有恢复。
debug 模块 不是很关键,所以希望 debug前发布一个下载版本。
这个debug的设计方案,  还有下面的问题。



3)关于 debug 的个问题。


发现 用debug 来运行那个脚本 就没问题。
一路回车 没问题。
直接E, 让他自己跑, 问题。

不用debug就有问题了 。

也就是debug改变运行方式的 。
这样 debug 的意义达了折扣。

debug  改变了 检查 对象。

点评

这些都只是你自己的猜测而已.  发表于 2015-1-16 13:12
回复

使用道具 举报

799#
发表于 2015-1-16 12:57:33 | 只看该作者
本帖最后由 mdyblog 于 2015-1-16 13:05 编辑
zxw 发表于 2015-1-16 12:03
好久没关注grub4dos了。
0115版的是否进一步限制了批处理的标签数量?
run用0110版测试正常,用0115版不 ...
我这里 0115版 也是 问题啊。好像也标签的问题。 反正是乱跑。
把我跑晕了(跟踪它)。


建议 你试试  767#楼    或 760# 楼 那个版本。
这个没问题。 关键的文件体也都解决了。 就是 没有新版的 debug , 有旧版的debug。


------------
我把标签都去掉试试。

点评

你可以把你的脚本上传上来看下,不太可能会乱跑的.  发表于 2015-1-16 13:10
回复

使用道具 举报

800#
发表于 2015-1-16 13:17:10 | 只看该作者
本帖最后由 mdyblog 于 2015-1-16 13:19 编辑
chenall 发表于 2015-1-16 12:29
767#和下载站的是一样的源码的,效果应该是一样的.

我不明白你为什么一直强调要用767#的重新恢复?要恢 ...


>> chenall  你可以把你的脚本上传上来看下,不太可能会乱跑的.  发表于 2 分钟前

我这是 MBROS系统。 UDM磁盘核心中。不是一个文件。不好拿出来。
我看 能不能模拟出问题。


是不是新版 debug 引起的标签问题。

我打算把所有标签都删掉。

点评

如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了.  详情 回复 发表于 2015-1-16 13:21
回复

使用道具 举报

801#
发表于 2015-1-16 13:21:11 | 只看该作者
mdyblog 发表于 2015-1-16 13:17
>> chenall  你可以把你的脚本上传上来看下,不太可能会乱跑的.  发表于 2 分钟前

我这是 MBROS系统 ...

如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了.

点评

>>如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了. 这话说的 有点 外行哦! 程序是一个整体,添加后 哪能这么 切豆腐一样。  详情 回复 发表于 2015-1-16 14:32
1) 和 zxw 比较类似。 好像也是最后的 标签 出问题了。 测试 包。 8秒自动 测试---1 2) 我觉得这样的运作方式, 我等 手足无错啊。 解决一个BUG时, 又添加新功能。 而, 一般来说, “添加  详情 回复 发表于 2015-1-16 14:07
回复

使用道具 举报

802#
发表于 2015-1-16 14:07:41 | 只看该作者
本帖最后由 mdyblog 于 2015-1-16 14:29 编辑
chenall 发表于 2015-1-16 13:21
如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了.


1) 和 zxw 比较类似。

好像也是最后的 标签 出问题了。

测试 包。 8秒自动 测试---1
test0115.fba.7z (141.81 KB, 下载次数: 2)   --0.45c

test0115-046.7z (148.64 KB, 下载次数: 1)   --0.46a




2)
我觉得这样的运作方式, 我等 手足无错啊。

解决一个BUG时, 又添加新功能。

而, 一般来说, “添加新功能”有 带来新BUG的 风险。

解决 一个BUG后, 不 加新功能, 就发布一个版本。
后面加新功能,再发布新版本。

这样一步 一步地, 踏实些。

反正 版本号又 不花费什么。

回复

使用道具 举报

803#
发表于 2015-1-16 14:19:52 | 只看该作者
本帖最后由 zxw 于 2015-1-16 14:23 编辑
chenall 发表于 2015-1-16 12:30
有发现什么问题,建议可以弄一个可以重现问题的环境或测试包(最好是能在虚拟中直接测试的)这样可以方便定 ...


很遗憾,经测试与标签数量无关。
抽空简化了一个批处理版本,人为设置了125个标签,运行正常。
与批处理大小有关?

点评

1) 你试过 767#吗? 2) 我也是小心翼翼, 才复制出演示环境。 用一些 简单语句替换程序代码行。 这样大体体积不变。 才作出上面的 演示环境  详情 回复 发表于 2015-1-16 14:27
回复

使用道具 举报

804#
发表于 2015-1-16 14:27:36 | 只看该作者
zxw 发表于 2015-1-16 14:19
很遗憾,经测试与标签数量无关。
抽空简化了一个批处理版本,人为设置了125个标签,运行正常。
与批 ...

1) 你试过 767#吗?

2)
我也是小心翼翼, 才复制出演示环境。

用一些 简单语句替换程序代码行。
这样大体体积不变。

才作出上面的 演示环境

点评

zxw
与0115版本问题一样。  详情 回复 发表于 2015-1-16 14:35
回复

使用道具 举报

805#
发表于 2015-1-16 14:32:27 | 只看该作者
chenall 发表于 2015-1-16 13:21
如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了.

>>如果是debug引起的问题就不会有你前面说的,用debug正常,不用debug不正常的问题了.
这话说的 有点 外行哦!
程序是一个整体,添加后 哪能这么 切豆腐一样。
回复

使用道具 举报

806#
发表于 2015-1-16 14:35:10 | 只看该作者
本帖最后由 zxw 于 2015-1-16 14:40 编辑
mdyblog 发表于 2015-1-16 14:27
1) 你试过 767#吗?

2)


我这里测试767#与0115版本问题一样。
760#的版本没有问题。

点评

我这 grub4dos-0.4.6a-2015-01-16.7z 测试正常了。 你那儿 grub4dos-0.4.6a-2015-01-16.7z 正常吗?  详情 回复 发表于 2015-1-16 16:46
767# 有问题? 我测试下。  详情 回复 发表于 2015-1-16 15:00
回复

使用道具 举报

807#
发表于 2015-1-16 15:00:48 | 只看该作者
本帖最后由 mdyblog 于 2015-1-16 15:11 编辑
zxw 发表于 2015-1-16 14:35
我这里测试767#与0115版本问题一样。
760#的版本没有问题。


767# 有问题? 我测试下。
----------------------
还真是这样哦。

看来 从767#开始就有问题了。
看来的把670#先做一个下载版本。(后面添加的功能不是关键功能)



回复

使用道具 举报

808#
发表于 2015-1-16 15:03:14 | 只看该作者
前面的测试结果

1. 有没有debug效果一样.
2. 确实是有发现问题,主要是goto :eof之后接下去的执行行号不对了,,看了代码,暂时没有发现问题,需要进一步调试.
回复

使用道具 举报

809#
发表于 2015-1-16 16:00:09 | 只看该作者
这个问题并不是最新版才有的,经测试是grub4dos-0.4.6a-2015-01-10.7z开始引入的bug.

现在就比较好找原因了.
回复

使用道具 举报

810#
发表于 2015-1-16 16:12:28 | 只看该作者
本帖最后由 chenall 于 2015-1-16 16:15 编辑

搞定了

又写错了一行代码(这个比较严重).

grub4dos-0.4.6a-2015-01-16.7z

270.32 KB, 下载次数: 19

点评

这个出错提示怎么不能屏蔽  详情 回复 发表于 2015-1-17 10:26
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-6-22 05:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表