用Windbg来看看CLR的JIT是什么时候发生的
本文用Windbg来调试看C#的程序在运行时JIT发生在什么时候。
本文用Windbg来调试看C#的程序在运行时JIT发生在什么时候。
本文介绍了如何通过加函数断点的方式调试什么时候SaveFileDialog会被Dispose,然后通过调试结果说明我们在使用完SaveFileDialog后应该显示的Dispose。
Eric Lippert在他的C# Performance Benchmark Mistakes, part1,part2,part3,part4中介绍了一些最基本的针对C#的程序做性能测试的准则,要点如下: 选择正确的衡量标准。 在做子系统局部性能测试的同时不要忘记花点时
C#的null合并运算符的优先级比加号还要低,注意在和别的运算符用在一起时要记得加括号。
本文介绍了Eric Lippert给出的实现GetHashCode时需要遵循的规则。
本文介绍了如果判断C#的Finalizer线程有没有被阻塞。给出了一个由于Finalizer线程阻塞导致的句柄(Handle)数目超出Windows限制导致的崩溃问题,还附上了一小段代码用来查看当前进程Handle数目。
通过Mouse Without Borders在多台机器上共享键盘鼠标
使用VerbalExpressions可以在多种语言,包括C++和C#中用非常直观的方式来帮助我们写正则表达式。
本文总结了在windows平台下可以生成dump的工具,包括Windbg, Visual Studio,任务管理器,Process Explorer,Windows的API,ProcDump,DebugDiag和WER。
不要在非静态函数中判断this指针是不是null,如果想支持空指针也能调用这个函数,就把这个函数定义为静态的。
比较了传统行业和科技公司到达10亿美金所花的时间。
代码审查(Code Review)的作用毋庸置疑,分享一个SmartBear通过在思科10个月的代码审查总结出来的一个代码审查的建议-11 Best Practices of Peer Code Review。
Form的Timer在Form Dispose时一定要Dispose,而且不能假设Timer的event handler在Timer Dispose后就一定不会调到了。
本文解析了Form.Show()和Form.ShowDialog()的区别,简单的说,就是调用Form.Show()不需要显示的Dispose,但是调用Form.ShowDialog()需要显示的Dispose。
把这些没用的代码删除对提高代码质量,降低维护成本都有很大的好处。本文就简单总结一下我认为有效的可以找到无用代码的一些心得:1. 使用工具帮助查找无用代码。2. 通过测试覆盖率Code Coverage寻找潜在的无用代码。3. 查找重复的代码。4. 阅读代码,理解代码。
本文介绍了如何在Firefox的最新版本34上打开”Manage Search Engine“的按钮,这样在新加搜索引擎后就可以继续设置关键字了。
静态代码分析工具以他们检查开源代码库发现的问题作为题库,做了一个C++的小测验。
如果不想写Wix的XML文件并且熟悉C#,那么现在有了一个新选择-Wix#。有了它,可以直接写C#代码来生成Wix的MSI安装文件。
本文从解决一个C#Double.TryParse的bug谈起,介绍了TryParse的缺省参数NumberStyles和IFormatProvider。
gooreplacer是一款能够自动替换掉网页中的 Google fonts、apis、themes 为中国科学技术大学镜像资源的 Chrome、Firefox 扩展,主要替换一下内容: fonts.googleapis.com ————–> fonts.lug.ustc