检查SharePoint代码中对象是否释放的小工具

问题

一般继承IDisposable接口的对象, 在使用完成后可以释放对象以免占用过多的资源, 当然也可是使用using语句来完成此操作. 但是当项目很大的时候, 代码也比较多, 我们更多希望有工具来检查项目中是否有类似的对象没有释放.

解决办法

微软其实提供了一个小工具"SharePoint Dispose Checker Tool", 但是很遗憾, 不支持SharePoint 2013, 有需求的朋友可以点击下面的链接查看.

地址: https://gallery.technet.microsoft.com/office/SharePoint-Dispose-Checker-01da48e8

enjoy SharePoint

时间: 2024-12-12 03:31:07

检查SharePoint代码中对象是否释放的小工具的相关文章

MongoDB中对象反序列化的一个小问题

今天在mongoDB存取对象数据的时候,碰到一个小问题:对象的某一个字段类型是抽象类或者接口,在存入的时候没有问题,但是在读取的时候,由于没有具体类的信息,无法完成对象的重新构建,就会报错: Can not construct instance of com.bp.samples.json.generics.xxx, problem: abstract types either need to be mapped to concrete types, have custom deserializ

测试中几个实用的小工具

1 身份证号码生成器 我是做p2p理财业务的,测试中会用到身份证.自己编的话太随意,有时候还无法通过一些规则 身份证号码和姓名_身份证号码和真实姓名大全_身份证号码大全防沉迷_身份证号码查询?sfz.ckd.cc 2密码生成器 公司用阿里云,阿里云的密码我一般就随机生成,可以设置你要的规则,生成符合规则的密码,超好用. 生成随机密码 - 密码生成器?suijimimashengcheng.51240.com 3json格式话校验 公司也设计到小额贷的业务,有些以json文件上传到阿里云,把他们复

lua中对象的弱引用

几次编写lua时.总是有同事遇到A中对象已经释放了.但B对象中A对象的值不是为空的. Lua的gc和Java的类似.只有当对象没有被引用时候才会释放这块内存.要想实现A释放了B中A的值也释放了这时候需要用到弱引用. setmetatable(t,{__mode="k"}); __mode 的值可以为"k","v","kv" ~ ~第一段代码中可以看到内存中是有一个[key]保存了一个table.虽然b=nil了但是t中还是存在

查找代码中的中文

上周的需求要发繁体版,用繁体中文替换简体中文,本来想直接转换,但是对方提出很多简体.繁体之间表达方式不同,因此需要批量替换. 尽管前期规划过海外版本,但是最后规范管理不够严格,还是有很多界面上的文字是在代码中写死的. 因此需要开发一个检索代码中中文的工具. 代码给UILabel赋值,必然是uilabel.text = "简体中文";因此检查一行代码中双引号的内容是否有中文,即可完成需求. 需要注意的是编码格式,默认是UTF-8(带签名). 上代码: [MenuItem("As

Linux中的常用内存问题检测工具

原文地址:http://blog.csdn.net/jinzhuojun/article/details/46659155 C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题.如果crash的地方正是内存使用错误的地方,说明你人品好.如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了.当然,祼看code打log是一个办法,但其效率不是太高,尤其是在运行成本高或重现概率低的情况下.另外,静态检查

工作中使用到的插件和工具

1.VS resharper:功能齐全,而且很强大,安装以后编码非常方便,不过占用内存比较大,而且如果代码比较多的时候会很卡,网上就有很多破解版的可以下载 visualstudiostyle:这个是编辑器的风格样式,主要是为了看起来好看,保护眼睛,我自己是习惯selenitic.vssettings这种样式 提供几种供下载:visualstudiostyle.rar2.Sql sqlprompt:这个是sqlserver的插件,主要是方便编写sql语句这些,下载地址(SQLPrompt_5.3.

C#+ArcEngine中com对象的释放问题

1.问题描述 最近在写C#下AE的开发,在循环获取数据并修改时碰到了两个问题"超出系统资源"和"超出打开游标最大数":在网上看了一些资料,发现都是说在循环中没有释放已经使用过的对象,但是在循环中实际上是有为com对象赋值为null的,但是还是没法解决.后来想着将对象赋值为null和marshal是不是效果不一样,就特意写了一个简单的循环来测试,代码如下(初级代码,比较乱,请轻喷): 1 public void Test_释放游标方式() 2 { 3 string s

[DX11调试]检查D3D对象是否释放:ReportLiveObjects()的用法

参考文章<DirectX Leak Debugging>:http://masterkenth.com/blog/2014/03/07/directx-leak-debugging/ DX11在debug方面有许多改进,其中之一就是能输出未释放的d3d对象,但默认情况下,是输出这个样子: D3D11 WARNING: Process is terminating. Using simple reporting. Please call ReportLiveObjects() at runtim

该对象尚未初始化。请确保在所有其他初始化代码后面的应用程序启动代码中调用

WebAPI使用属性路由,配置config.MapHttpAttributeRoutes();后出现错误: System.InvalidOperationException: 该对象尚未初始化.请确保在所有其他初始化代码后面的应用程序启动代码中调用 HttpConfiguration.EnsureInitialized(). 在 System.Web.Http.Routing.RouteCollectionRoute.get_SubRoutes() 在 System.Web.Http.Routi