| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 423 人关注过本帖
标题:[求助]DOS程序遇到死机的难题-->feng1256转移
只看楼主 加入收藏
mrf_stamp
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-4-28
收藏
 问题点数:0 回复次数:0 
[求助]DOS程序遇到死机的难题-->feng1256转移

程序环境:
编译器:borlandC 3.1
操作系统:Dos(6.22和7.1上都试验过)
硬件平台:PC104(用于嵌入式系统的x86平台)
1)程序比较大,编译完后文件有670k左右,载入内存中有450K左右,通过mem程序察看主程序载入内存后内存还剩100多K(这里所说的都是常规内存)。
2)程序编译采用的编译模式是Huge(由于数据量和代码量都超过64K,所以必须用huge模式),所有的数据都是通过静态申请,即没有用动态函数malloc之类,所以不应该有变量无效导致的错误
3)发现程序出现死机,程序在完成初始化后,如果没有手动退出,则理论上总是在一个主流程中循环,可以看到程序出现死机的时机并不是固定不变的,相同测试条件下出现死机的时间有长有短。
4)后来我跟踪,发现系统是调用kbhit()时候出错,程序就跑飞了。.我的分析是会不会我在进行数组操作的时候出现错误,于是在每个数据操作前都加assert,保证数组不会越界,可是并没有给我相关的信息。

那么其他还可能有什么问题,导致我的程序影响到系统呢?希望有熟悉DOS系统和C编程的高手给出指点。由于程序比较大,又没有定位到某个文件中,所以无法给出源代码分析(我估计也没有人分析得过来)

先谢谢热心人了

搜索更多相关主题的帖子: 内存 DOS 操作系统 难题 
2006-04-28 16:34
快速回复:[求助]DOS程序遇到死机的难题-->feng1256转移
数据加载中...
 
   



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

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