首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么查看在VB中实例化的对象哪些还在内存中占用着

2012-08-01 
如何查看在VB中实例化的对象哪些还在内存中占用着公司一个程序,经历了10年的开发历程,中间经手了不下6个程

如何查看在VB中实例化的对象哪些还在内存中占用着
公司一个程序,经历了10年的开发历程,中间经手了不下6个程序员,由于代码书写没有按照规范:将实例化的对象用完后释放,导致现在程序长时间打开,在执行很多操作后,电脑报内存溢出,只能重开程序才能解决问题。
  怎么样才能监控出到底是那段代码的哪些对象没有被释放呢?现在都不知掉这么庞大的代码中哪些没有set 对象=nothing,寻求帮助。

[解决办法]
事实上,set x=nothing并不是必须的,VB在退出过程时会自动清理,你可以编写代码测试,你没有设nothing,但是Class_Terminate()是会执行(意味着自己清理)。关键是,你不能使用循环引用,如果存在循环引用,那你就需要设置nothing
[解决办法]
按VB6标准的函数与语句来写的话,基本上是不会出现内存泄漏吧,除非使用了非VB6管理以外的东东,比如自己调用API申请内存内存,创建句柄之类,这些不是VB6的管理范围,得编码者自己把握.
[解决办法]

VB code
'启动模块中打开日志文件Option ExplicitPublic g_hLogFile As IntegerSub Main()    g_hLogFile = FreeFile()    Open App.Path & "\" & App.EXEName & ".log" For Append As #g_hLogFile        Form1.ShowEnd Sub 

热点排行
Bad Request.