| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:error 28 out of stack space
只看楼主 加入收藏
L13986
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-4-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
error 28 out of stack space
VB6程序运行8、9小时后,报错error 28 :out of stack space,如何解决?
搜索更多相关主题的帖子: 如何 
2015-04-21 08:09
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:7 
回复 楼主 L13986
看看https://msdn.
微软针对这个错误有专门的说明。
没有代码,基本上靠自己了。

大开眼界
2015-04-21 11:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:7 
我特意去看了一下,堆栈溢出。
好吧,这个错误特别强大。

========================
根据你的程序8、9小时后报错,建议的调试方式:
新建一个公共 写日志 函数。
该函数,只有一个功能,写 debug.txt
追加方式打开文件,写入 时间 函数名,开始运行 或 运行完成

所有的函数中,都增加二句,第一句,函数第一命令前,
调用该函数,记录该函数开始运行。
在 退出函数 前,增加 一句,记录该函数停止运行。
在 DoEvents 前增加一句,记录调用 DoEvents 。
增加的语句,可以使用 条件编译方式写 ,以减少 以后的修改问题。

---------------------------------------------
然后等程序报错,仔细去分析这个日志文件,把函数 配对的, 开始和结束 统统去掉,然后再检查具体问题出在那些函数的 循环调用里面吧。
这是一个很浩大的工程。

授人于鱼,不如授人于渔
早已停用QQ了
2015-04-21 15:06
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:7 
没遇到过这个错误
不过以后要当心了,正好我最近要做个24小时工作的程序,看了这个帖子后长知识了
另外,28号错误到底什么意思?英文看不大懂啊
似乎是内存溢出?好像不像
风版主教教我吧
以后好避免

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-04-23 18:25
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
了解这个错误,要先了解 EXE 内部调用的方式,要了解 堆栈 作用 ,

EXE内部调用使用伪代码来写应时:
暂存器 压栈
调用参数压栈
调用函数

函数内部申明动态的变量
也压栈
-------------
函数执行时,使用首地址-偏移量,得到了就是变量的地址,

函数执行完成时,栈首地址向下减,减到暂存器时,暂存器出栈,然后根据暂存器继续向后执行,就是函数的返回。
================
这个错误,也就是长时间运行,或程序出现重复调用时,造成 堆栈满掉了,然后程序继续压栈时,WINDOWS 检测到内存地址溢出,
保护性地停止程序运行。

如果是长时间运行出这个错误,那就只写 调试日志,然后检查 函数调用情况。
如果是短时间运行出这个错误,那就在IDE里,检查调用堆栈,看看是哪个函数之间出现 递归调用。
=============
一般来说,响应事件之时,修改控件属性,有可能造成重复的事件,然后导致隐性递归调用 ,这种情况是不经过调试,是很难发现,这个是属于逻辑错误。

以上就是我对这个错误的理解。

授人于鱼,不如授人于渔
早已停用QQ了
2015-04-24 08:34
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
非常感谢

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-04-27 17:26
快速回复:error 28 out of stack space
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044063 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved