这个问题实在是太纠结了,因为这个问题他不是每次都出来,有时候会报出这个问题,有时候又不会。
不知道如何去查找到底是哪里导致的这个问题,还有如何去解决这个问题。
不要回答我说什么内存不够,增加内存等。
这个应该是程序上的问题,只是不知怎么去寻找问题发生在哪里。
谢谢

解决方案 »

  1.   


    不防写把变量的类型改成STRING型的试试?
      

  2.   

    问题太笼统了!!!类似问题,参考下
    http://topic.csdn.net/u/20070301/13/668a4840-1f53-4691-a535-fcf64d76aff9.html
      

  3.   

    这可头疼死我了,要是每次都能够出来这个问题,我也就好处理了,关键是他有时候出来,有时候不出来。
    这里有用到OCR文字识别技术。xml读取与写。邮件收发。数据库连接等
      

  4.   

    使用完对象 尽量都close dispose =null吧。
    尽早释放。
      

  5.   

    这里我想问下适时监控memory的代码如何写啊
    我想做一个debug窗体适时监控,这样下次有问题的时候,我就可以直接看日志文件了
      

  6.   

    如何适时监控memory呢。给点代码提示。
      

  7.   

    DONET 自带的ADO的DATASET控件连接数据库?(非后台代码写的)
    数据库的问题,重做或者增加配置。
      

  8.   

    Ok,我知道我的问题挺笼统的,因为我无法确定他是怎么导致的,所以也就无法定位了。
    我想知道如何适时监控memory,这样有利于下次出现这个问题的时候,能够准确定位。
    Thanks
      

  9.   

    咋没人光顾了呢?适时监控memory?
      

  10.   

    好像还真的找不到相关适时显示memory的代码,牛人帮个忙吧
      

  11.   

    不知道你做的是什么项目,所以不好说。但是我们前一段时间也遇到了这种问题。
    这种问题的话,当时我们断定是空间没有释放照成的,后来也的确发现是这样的。
    当然 ,项目非常的大,不可能一行一行的看代码。
    我们主要先分析它可能带的log,然后在log中发现规律。当然,这个一般没有用,但是你最好还是看一下。
    然后我们就自己在里面打log,看看他在那里进去,又有哪些路没有走到-----这个非常的麻烦的,兄弟,如果想解决问题,不可能不麻烦的。
    同时再看看代码中malloc和free有没有成对出现。
    最后找到在一个函数中只有进去没有出来,并且在这个函数执行前有malloc,之后正常的话,有free,但没出来,当然不free了。
    所以,首先代码大概的逻辑你必须知道的,不管多麻烦,知道在那里分配地址,在那里释放。
    然后根据自己的猜想在需要的地方打log---这个又一定的偶然性。其实主要还是分析代码,将每条路都画出来。在路中那里malloc,那里free,都裱起来,不然,估计还真没办法。
      

  12.   

    我们这个问题是android中的底层库中的问题,不是donet,不过思路应该一样吧?
      

  13.   

    恩,Thanks。我现在就正在这样做呢,所以想将适时的内存大小记录下来。网上看了,好像跟虚拟内存也有关系。我找到了物理内存大小显示。不过我不知道怎样显示虚拟内存。
      

  14.   

    就是我执行程序的时候,我会另外有一个debug窗体,里面显示的是我执行每个方法的时间,
    在这里我需要加上读取当前内存大小的代码。
      

  15.   

    已经成形的项目查起来就费劲了,你可以借用一些第3方的内存泄露检查工具。检查一下。使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践)