专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
我们可以通过XslCompiledTransform类使用XSLT样式表转换XML数据但我在项目中使用此类时候发现有内存泄漏(Memory Leak)现象长时间不能进行回收内存最终导致内存溢出异常(Exception: Out Of Memory, OOM)发生 原来XslCompiledTransform类使用CodeDom将XSL以及其中脚本编译到.NET集中并将其加载到当前应用域(AppDo)所以也就需要占用内存如果每次进行XSL转换时候都重新加载XSL以及 [阅读全文] [PDF]
  1. 在需要内存泄漏检查的代码的开始调用void mtrace(void) (在mcheck.h中? 有声明)。 mtrace为malloc等函数安装hook, 用于记录内存分配信息。在需要内存泄漏检查的代码的结束调用void muntrace(void)。   注意: 一般情况下不要调用muntrace, 而让程序自然结束。 因为可能有些释放内存代码要到muntrace之后才运行。   2. 用debug模式编译被检查代码(-g或-ggdb)   3. 设置环境变量MALLOC_TRACE为一文件名, 这一文件将存有内存分配信息。   4. 运行被检查程序 [阅读全文] [PDF]
初识Visual Leak Detector灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚至会影响到其他程序的正常运行。另外内存问题的一个共同特点是,内存问题本身并不会有很明显的现象,当有异常现象出现时已时过境迁,其现场已非出现问题时的现场了,这给调试内存问题带来了很大 [阅读全文] [PDF]
编者按:Java内存泄漏是每个Java程序员都会遇到的问题,程序在本地运行一切正常,可是布署到远端就会出现内存无限制的增长,最后系统瘫痪,那么如何最快最好的检测程序的稳定性,防止系统崩盘,作者用自已的亲身经历与各位网友分享解决这些问题的办法。 作为Internet最流行的编程语言之一,Java现正非常流行。我们的网络应用程序就主要采用Java语言开发,大体上分为客户端、服务器和数据库三个层次。在进入测试过程中,我们发现有一个程序模块系统内存和CPU资源消耗急剧增加,持续增长到出现java.lang.OutOfMemoryError为止。经过分析Java内存泄漏是破坏系统的主要因 [阅读全文] [PDF]
在使用C语言时,您是否对花时间调试指针和内存泄漏问题感到厌倦?如果是这样,那么本文就适合您。您将了解可能导致内存破坏的指针操作类型,您还将研究一些场景,了解要在使用动态内存分配时考虑什么问题。 引言 对于任何使用C语言的人,如果问他们C语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在C语言中拥有的最强大工具。 本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括: 导致内存破坏 [阅读全文] [PDF]
最近解决了一个内存泄漏的问题,问题的起因是在测试过程中施加了极大的压力,以至于CPU的利用率一直维持在100%。此时出现了大量的内存泄漏。 当时从代码中没有找到原因,后来通过其他方面的努力,找到原因如下:当时使用的机制是WindowsPostMessage。在某个线程中new一块Buffer,通过PostMessage传递到另外一个线程中delete.在100%CPU的状态下,这部分事件没有足够的时间片处理,导致事件堆积越来越多,以至于windows丢弃事件,从来buffer没有delete,最终内存泄漏。 Window中eventqueue的长度设置如下 [阅读全文] [PDF]
背景  c++内存分配与释放均由用户代码自行控制,灵活的机制有如潘多拉之盒,即让程序员有了更广的发挥空间,也产生了代代相传的内存泄漏问题。对于新手来说,最常犯的错误就是new出一个对象而忘记释放,对于一般小应用程序来说,一点内存空间不算什么。但是当内存泄漏问题出现在需要24小时运行的平台类程序上的时候,将会使系统可用内存飞速减少,最后耗尽系统资源,导致系统崩溃。  所以学会如何防止并检查内存泄漏,是一个合格的c++程序员必须具备的能力。但是由于内存泄漏是程序运行并满足一定条件时才会发生,直接从代码中查出泄漏原因的难度较大,而且一旦内存泄漏发生在多线程程序中 [阅读全文] [PDF]
Delphi6的TClientDataSet.XMLData存在内存泄漏,当你循环调用它获取XML文本,达到一定的循环次数后,你的程序就会报“Insufficientmemoryforthisoperation”错误,查看内存也是节节攀升,说明存在bug。 如何解决呢?见代码: type ThcClientDataSet=class(TClientDataSet) private ... functionGetXMLData:string; procedureSetXMLData(constValue:string); protected ... pub [阅读全文] [PDF]
JavaScript 中的内存泄漏JavaScript 是一种垃圾收集式语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回。JavaScript 的垃圾收集机制本身并没有问题,但浏览器在为 DOM 对象分配和恢复内存的方式上却有些出入。Internet Explorer 和 Mozilla Firefox 均使用引用计数来为 DOM 对象处理内存。在引用计数系统,每个所引用的对象都会保留一个计数,以获悉有多少对象正在引用它。如果计数为零,该对象就会被销毁,其占用的内存也会返回给堆。虽然这种 function [阅读全文] [PDF]
设计人员在使用Javascript如果不了解IE内存泄漏的实质是很容易造成泄漏的。 需要推荐的关于IE内存泄漏的唯一大作是:UnderstandingandSolvingInternetExplorerLeakPatterns,亦有中文翻译版本。 如果想要读懂以上文章从而深入了解IE内存泄漏的原理,那么你首先要了解Javascript的以下方面: scopechain closure referencetype 恕我没有办法提供以上三项的教程,互联网上随意搜索一下都有很多。对于一个偏向设计的人员来说,我觉得深入了解IE内存泄漏没有很大必要,但是如果是开发人员就一定要 [阅读全文] [PDF]
在本文中,他将解释 Reference 对象的另外一种形式,即软引用(soft references),用于帮助垃圾收集器管理内存使用和消除潜在的内存泄漏。   垃圾收集可以使 Java 程序不会出现内存泄漏,至少对于比较狭窄的 “内存泄漏” 定义来说如此,但是这并不意味着我们可以完全忽略 Java 程序中的对象生存期(lifetime)问题。当我们没有对对象生命周期(lifecycle)引起足够的重视或者破坏了管理对象生命周期的标准机制时,Java 程序中通常就会出现内存泄漏。例如,上一次 我们看到了,不能划分对象的生命周期会导致 [阅读全文] [PDF]
1 共11条 分1页