摘要: 把问题的范围尽量缩小能够让排错事半功倍. 问题发生的规律和特定的环境往往就隐含了导致问题的原因.下面是一些能够帮助缩小排错范围的checklist. 排错前浏览一遍这些问题, 说不定就有额外的发现.1.是否打上了最新的补丁?2.是否查询了support.microsoft.com, 有没有遇上已知的... 阅读全文
posted @ 2014-04-18 16:47 heavyblog 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 如果在排错开始前, 调试着已经存在畏惧心理, 那么是不可能找到问题真相的. 下面的几点可以帮助调试者克服这样的畏惧情绪.屡试不爽的方法============无论多么复杂的程序, 总可以被简化. 我们可以先把程序的功能砍掉一半, 看看问题是否会发生, 以此来缩小问题的范围. 重复使用这样的二分法, ... 阅读全文
posted @ 2014-04-18 16:45 heavyblog 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 如果有出错程序的dump, 哪怕dump不是在合适的时机获取的, 也可以分析出有用的信息.通过vertarget查看系统版本和系统运行了多长时间.通过!peb查看环境变量的情况. 由于很多第三方软件都习惯把自身路径添加到环境变量中, 所以这里很多时候可以看出一些已经安装的软件.同时还能看到当前进程所... 阅读全文
posted @ 2014-04-18 16:43 heavyblog 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Crash都是发生在某一函数中, 而95%的crash都是由下面两种情况中的一种导致的:发生crash的函数获得了错误的参数.发生crash的函数使用了损坏了的内部数据.代码的执行过程是对数据进行变化的过程. 对同一段代码, 在相同环境下, 如果使用的数据都相同, 那么执行的结果肯定是唯一的. 如果... 阅读全文
posted @ 2014-04-18 16:38 heavyblog 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 导致性能问题的常见情况下面列出一些导致性能问题的常见情况.程序负荷太重, 导致硬件成为性能瓶颈.观察到CPU利用率一直很高, 响应时间岁负荷增加而变长. 当负荷降下来后, 性能又恢复正常. 如果负载的确超过了程序的承受能力, 解决的办法是升级硬件, 或者增加服务器节点, 用负载均衡吧负载分担到多个点... 阅读全文
posted @ 2014-04-18 16:36 heavyblog 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 概述=========性能是指程序的处理效率无法达到预期值.导致性能问题的原因总的分为两种, 外部原因和内部原因. 内部原因是指程序代码本身有问题, 无法高效地利用资源来完成计算. 外部原因是指程序代码以外的因素, 比如硬件配置和程序的负载.解决性能问题的关键在于把瓶颈找出来, 然后消灭瓶颈.预备=... 阅读全文
posted @ 2014-04-18 16:32 heavyblog 阅读(146) 评论(0) 推荐(0) 编辑