vb点虐 内存泄露 vs 内存泄露 检测

如何检测内存泄漏

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。

成都创新互联-专业网站定制、快速模板网站建设、高性价比剑阁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式剑阁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖剑阁地区。费用合理售后完善,10余年实体公司更值得信赖。

可以使用相应的软件测试工具对软件进行检测。

1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。

2. Dmalloc-Debug Malloc Library.

3. Electric

Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。

4. Leaky-Linux下检测内存泄漏的程序。

5. LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。

6. MEMWATCH-由Johan

Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。

7. Valgrind-Debugging and profiling Linux programs, aiming at

programs written in C and C++.

8. KCachegrind-A visualization tool for the profiling data

generated by Cachegrind and Calltree.

9. Leak

Monitor-一个Firefox扩展,能找出跟Firefox相关的泄漏类型。

10. IE Leak Detector

(Drip/IE Sieve)-Drip和IE Sieve leak

detectors帮助网页开发员提升动态网页性能通过报告可避免的因为IE局限的内存泄漏。

11. Windows Leaks

Detector-探测任何Win32应用程序中的任何资源泄漏(内存,句柄等),基于Win API调用钩子。

12. SAP Memory

Analyzer-是一款开源的JAVA内存分析软件,可用于辅助查找JAVA程序的内存泄漏,能容易找到大块内存并验证谁在一直占用它,它是基于Eclipse

RCP(Rich Client Platform),可以下载RCP的独立版本或者Eclipse的插件。

13. DTrace-即动态跟踪Dynamic

Tracing,是一款开源软件,能在Unix类似平台运行,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。

14. IBM Rational PurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus

将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。

15. Parasoft Insure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为Microsoft

Visual C++的一个插件运行。

16. Compuware DevPartner for Visual C++ BoundsChecker

Suite-为C++开发者设计的运行错误检测和调试工具软件。作为Microsoft Visual Studio和C++ 6.0的一个插件运行。

17. Electric Software GlowCode-包括内存泄漏检查,code

profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。

18. Compuware DevPartner Java

Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。

19. Quest JProbe-分析Java的内存泄漏。

20. ej-technologies JProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存泄漏、并解决执行绪的问题。4.3.2注册码:A-G666#76114F-1olm9mv1i5uuly#0126

21. BEA JRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。

22. SciTech Software AB .NET Memory

Profiler-找到内存泄漏并优化内存使用针对C#,VB.Net,或其它.Net程序。

23. YourKit .NET Java Profiler-业界领先的Java和.NET程序性能分析工具。

24. AutomatedQA AQTime-AutomatedQA的获奖产品performance profiling和memory

debugging工具集的下一代替换产品,支持Microsoft, Borland, Intel, Compaq 和

GNU编译器。可以为.NET和Windows程序生成全面细致的报告,从而帮助您轻松隔离并排除代码中含有的性能问题和内存/资源泄露问题。支持.Net

1.0,1.1,2.0,3.0和Windows 32/64位应用程序。

25. JavaScript Memory Leak Detector-微软全球产品开发欧洲团队(Global Product

Development- Europe team, GPDE)

发布的一款调试工具,用来探测JavaScript代码中的内存泄漏,运行为IE系列的一个插件。

Windows 下有哪些内存泄露监测工具

1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。

2. Dmalloc-Debug Malloc Library.

3. Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。

4. Leaky-Linux下检测内存泄漏的程序。

5. LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。

6. MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。

7. Valgrind-Debugging and profiling Linux programs, aiming at programs written in C and C++.

8. KCachegrind-A visualization tool for the profiling data generated by Cachegrindand Calltree.

9. Leak Monitor-一个Firefox扩展,能找出跟Firefox相关的泄漏类型。

10. IE Leak Detector (Drip/IE Sieve)-Drip和IE Sieve leak detectors帮助网页开发员提升动态网页性能通过报告可避免的因为IE局限的内存泄漏。

11. Windows Leaks Detector-探测任何Win32应用程序中的任何资源泄漏(内存,句柄等),基于Win API调用钩子。

12. SAP Memory Analyzer-是一款开源的JAVA内存分析软件,可用于辅助查找JAVA程序的内存泄漏,能容易找到大块内存并验证谁在一直占用它,它是基于Eclipse RCP(Rich Client Platform),可以下载RCP的独立版本或者Eclipse的插件。

13. DTrace-即动态跟踪Dynamic Tracing,是一款开源软件,能在Unix类似平台运行,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。

14. IBM Rational PurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus 将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。

15. Parasoft Insure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为Microsoft Visual C++的一个插件运行。

16. Compuware DevPartner for Visual C++ BoundsChecker Suite-为C++开发者设计的运行错误检测和调试工具软件。作为Microsoft Visual Studio和C++ 6.0的一个插件运行。

17. Electric Software GlowCode-包括内存泄漏检查,code profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。

18. Compuware DevPartner Java Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。

19. Quest JProbe-分析Java的内存泄漏。

20. ej-technologies JProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存泄漏、并解决执行绪的问题。4.3.2注册码:A-G666#76114F-1olm9mv1i5uuly#0126

21. BEA JRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。

22. SciTech Software AB .NET Memory Profiler-找到内存泄漏并优化内存使用针对C#,VB.Net,或其它.Net程序。

23. YourKit .NET Java Profiler-业界领先的Java和.NET程序性能分析工具。

24. AutomatedQA AQTime-AutomatedQA的获奖产品performance profiling和memory debugging工具集的下一代替换产品,支持Microsoft, Borland, Intel, Compaq 和 GNU编译器。可以为.NET和Windows程序生成全面细致的报告,从而帮助您轻松隔离并排除代码中含有的性能问题和内存/资源泄露问题。支持.Net 1.0,1.1,2.0,3.0和Windows 32/64位应用程序。

25. JavaScript Memory Leak Detector-微软全球产品开发欧洲团队(Global Product Development- Europe team, GPDE) 发布的一款调试工具,用来探测JavaScript代码中的内存泄漏,运行为IE系列的一个插件。

API函数SetCurSorPos的问题

我也遇到这种情况了,用不同的电脑试了,有的是可以的,有的电脑就Y坐标移不过去。

问题解决了,你调整为: Private Declare Function SetCursorPos Lib "user32" (ByVal x As Integer, ByVal y As Integer) As Integer试一下。坐标值也设置为integer样式的。

求.NET的技术特点

(1)简化开发操作

虽然ASP,PHP等语言很容易使用,但是网页程序过大时会显得相当复杂。ASP.NET在代码编写方面最大的特色是将页面逻辑和业务逻辑分开,它分离程序代码与显示内容,使网页更容易编写,同时程序代码看起来更洁净、更简单。

(2)语言独立性

在使用ASP制作网页时可以使用多种语言来编写程序,但是这些只限于脚本语言,如VBScript, Jscript。ASP.NET则允许使用编译式的语言,提供较好的执行效率和跨语言的兼容性,如VB.NET,C#,等等,另外有一些合作厂商也提供开发.NET应用程序的支持,如Perl、Pascal、Cobol等。

(3)提高执行效率

由于ASP.NET的程序代码是编译过的,所以执行时会比ASP的执行方式快很多。另外,ASP.NET也提供快取的能力,有效的缩短服务器的应答时间(如图ASP和ASP.NET编译方式的比较)。

4)简化部署与组件的操作

在ASP中调用组件,程序的部署过程会变得非常复杂。目前组件使用都需要复杂的注册操作,同时组件在使用中经常会被锁定而无法更新版本。在ASP.NET中不需要考虑组件注册的问题,直接将文件复制到目的计算机相应的目录下就可以了。

(5)增进适用性

ASP.NET能解决应用程序故障。对于内存泄露的情况,能自动重新启动进程以增进适用性,从来不死机。任何会造成内存泄露的程序代码或产生无穷循环或没有关闭使用的资源的程序代码将只会影响到一条线程。

(6)更佳的安全机制

在ASP中唯一能使用的验证方式是Windows Authentication; 而ASP.NET则提供三种不同的登陆验证方式:Windows、Passport 和 Cookie。也可以利用Impersonation功能,使用登陆者的权限执行一些程序代码或存取资源。

(7)支持下一代的Web Service

简单的说,Web Service是指可以跨Internet调用的应用程序,提供应用程序重复使用的功能,它能使两个不同的系统拥有一个沟通的管道。

(8)Session 可以跨进程、跨机器

使用ASP.NET,Session的状态可以在不同计算机的不同进程中维护,以解决Web Farm的Session维护问题。

通过以上对ASP.NET的技术特点我们可以对.NET技术有了一个简单的了解,这样根据其优点我们就很容易知道选择.NET的优点。可以推出.NET的其他的技术的特点。


分享题目:vb点虐 内存泄露 vs 内存泄露 检测
分享地址:http://cdiso.cn/article/ddjdpoi.html

其他资讯