社区
C#
帖子详情
万一C#中有资源泄露!?,如何发现?怎么办???
hproof
2003-06-02 08:38:46
在我的一个包含数据库操作的C#程序中,总是需要很多次的调试。
每当调式完一次后,就相当与把程序执行一次,
然后再次调试,却发生了错误:
“正在生成附属程序集...
无法将文件“DataAccessLib.dll”复制到运行目录。另一个程序正在使用此文件,进程无法访问。
未能将临时文件复制到输出目录中。”
在资源管理器中也删除不掉。
现在的解决办法是利用磁盘工具扫描一次,但必须重新启动。这得花多长的时间啊!
...全文
83
5
打赏
收藏
万一C#中有资源泄露!?,如何发现?怎么办???
在我的一个包含数据库操作的C#程序中,总是需要很多次的调试。 每当调式完一次后,就相当与把程序执行一次, 然后再次调试,却发生了错误: “正在生成附属程序集... 无法将文件“DataAccessLib.dll”复制到运行目录。另一个程序正在使用此文件,进程无法访问。 未能将临时文件复制到输出目录中。” 在资源管理器中也删除不掉。 现在的解决办法是利用磁盘工具扫描一次,但必须重新启动。这得花多长的时间啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bearbaba
2003-06-02
打赏
举报
回复
不是万一,是一定;不是怎么办?是投诉微软。 :)
hproof
2003-06-02
打赏
举报
回复
如果不做磁盘扫描,就算是重新启动也无法解决!
所以我才会怀疑数据库连接,是否是sql自动运行后,与这个dll有关联?
我检查了与数据库连接相关的代码,open/close是相对应的,在管理连接的对象的析构函数中再次检查状态,程序调式时也是正常的退出,代码应该被正常执行
昏!昏!昏!昏!昏!昏!
Gao2003
2003-06-02
打赏
举报
回复
你的问题不是没把资源释放掉而是你只要把生成DataAccessLib.dll的工程关闭掉就可以了,我以前也经常这样。
shuker
2003-06-02
打赏
举报
回复
就算是这样,有时候还是会有dll被占用的
我们这里都怀疑是vs.net干得好事情
所以通常重新启动一下vs.net就好了
coollzh
2003-06-02
打赏
举报
回复
多用try{}catch(){} finally{}
在finally把该释放的资源都释放掉
灵巧指针与垃圾回收(Java、
C#
、C++)
在JAVA 和
C#
中都有垃圾回收功能,程序员在分配一段内存后可以不再理会,而由垃圾回收自动回收,从而使程序员从复杂的内存管理中解脱出来。这是JAVA 和
C#
的一大优点。而C++程序员在用 new 分配了一段内存后,还...
内存泄漏检测
安装本
资源
在VS安装目录下,在程序中最开头#include"vld.h",用来检测内存泄漏。
灵巧指针与垃圾回收(free)
在JAVA 和
C#
中都有垃圾回收功能,程序员在分配一段内存后可以不再理会,而由垃圾回收自动回收,从而使程序员从复杂的内存管理中解脱出来。这是JAVA 和
C#
的一大优点。而C++程序员在用 new 分配了一段内存后,还...
C#
内存
泄露
与
资源
释放 经验总结
经验总结:
C#
并不是有了垃圾回收机制,你就可以对内存管理放任不管,其实在稍不注意的时候,可能就造成了内存
泄露
,或者超大内存占用~ 以下记录下遇到过的内存优化-内存
泄露
的问题与应对方案。 1. string与...
C#
的托管
资源
和非托管
资源
都有哪些
5. IO操作:
C#
中的IO操作也是由CLR进行管理的,CLR提供了一...7. 事件:
C#
中的事件机制也是托管
资源
,事件的订阅和触发都是由CLR进行管理的。1. 对象:
C#
中的所有对象都是托管
资源
,包括类对象、数组、委托、接口等。
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章