奇怪阿,自己编的程序运行20天左右肯定自动退出,windows系统给出提示:***程序出现错误,被自动关闭。而不是程序内存访问错误出现的红叉子,这是怎么回事?有什么办法可以检测出问题出在哪了吗?

解决方案 »

  1.   

    “***程序出现错误 ”是什么错误?
    检测方法:
    1.使用日志功能,捕捉错误然后写入日志
    2.使用FastMM协助你
    3.使用Windows日志协助你
      

  2.   

    系统出现如下提示框:程序产生了错误,会被windows关闭
    您需要重新启动程序
    正在创建错误日志
    在windows2000系统下,我察看了系统自带的事件察看器,里面没有任何和我程序有关的信息啊楼上各位说的Windows日志是不是就是事件察看器?
      

  3.   

    所有函数里面你都加上
    TRYCATCH(...)CATCH里不做任何处理
    你的程序肯定能有40天嘿嘿
      

  4.   

    CATCH一下运行中的异常 写日志
      

  5.   

    我用fastmm4试了一下,还真提示有内存泄漏,但只是在程序被关闭的时候有20k的内存没被释放,不知道是不是这个原因造成程序运行20天左右就自动关闭?还有假如一个程序每天都有20k左右的内存没释放,时间长了会对操作系统造成什么影响?内存管理器中能否看到内存占用率变得很高?
      

  6.   

    你的DElphi是否没注册呀?
    或者Delphi里某些编译器设置有误?
    重装Delphi试试^
      

  7.   

    所以就要看一下代碼中有哪些地方沒有釋放內存,把它Free掉就好了。
      

  8.   

    这么基础的问题……默认情况下,win32操作系统中每个进程有4G的独立进程空间,其中高2G是系统保留,低2G可由程序操作访问的。也就是说,默认情况下一个进程只有不到2G的虚拟地址可供分配,再多就没可能了,程序再没处理分不到内存时的情况。如果一天只20k,那20天也不到1M的leak,应该不会直接挂掉,而且如果是没分配到内存挂了的话也是应该出内存访问错误的提示,可能因为某些系统资源的访问出问题了吧,不知道gdi资源耗尽之类会不会出现这种情况
      

  9.   

    检测方法: 
    1.使用日志功能,捕捉错误然后写入日志 
    2.使用FastMM协助你 
    3.使用Windows日志协助你
      

  10.   

    1.使用日志功能,捕捉错误然后写入日志 
    这个也不行,不是明显的错误,捕捉不到2.使用FastMM协助你 
    正在尝试中
    3.使用Windows日志协助你
    这个肯定不行,看过了没有任何提示
      

  11.   

    windows系统日志 中 几种日志类型都查过?
      

  12.   

    用异常检测工具吧???
    EurekaLogsetup5111.exe
    这个就可以了。
      

  13.   

    最好方法是每个方法中加入try,然后在catch里写日志