缩小排错的范围

把问题的范围尽量缩小能够让排错事半功倍. 问题发生的规律和特定的环境往往就隐含了导致问题的原因.

 

下面是一些能够帮助缩小排错范围的checklist. 排错前浏览一遍这些问题, 说不定就有额外的发现.

1. 是否打上了最新的补丁?  
2. 是否查询了support.microsoft.com, 有没有遇上已知的问题? 有没有hotfix可用来解决问题  
3. 问题是偶尔发生还是总可以重现?  
4. 问题只发生在几台机器上还是所有环境下都有?  
5. 有没有简化了的可以重现问题的程序供我们进行测试?  
6. 问题发生时的screen-shot抓了么?  
7. 重现问题的具体步骤是什么? 有什么特别的么?  
8. 问题发生后, 有哪些方法可以暂时解决或缓解?  
9. 装了防毒软件了么? 有没有防火墙?  
10. 软件架构大致是怎样的? 在整个软件环境中资料是如何流动的?  
11. 排错工作是在生产环境上做还是在测试环境上做?  
12. 用到数据库了么? 如果用到了, 是什么数据库?  
13. 问题跟负荷有关么?  
14. 用什么开发的? 全是托管代码么? 有没有用VB, C++, 或者COM+?  
15. 网络环境如何? 用到NAT(Network Address Translation)了么?  
16. 是cluster环境么? 有没有用到负载均衡?  
17. 是domain环境么?  
18. 如果不是domain环境, 有没有尝试在服务器和客户端中创建相同密码的相同账户进行测试?  
19. 最近装了什么系统补丁? 有没有尝试卸载补丁后进行测试?  
20. 除了问题本身以外, 系统有什么异常么? 比如CPU和内存使用, 以及网络的使用情况?  
21. 程序的负载在正常的范围内么?  
22. 系统日志中有什么异常么?  
23. 有没有尝试改变程序的账号进行测试? 比如创建另外一个管理员账号登录来进行测试.  
24. 程序有UI么? 是双击启动还是通过任务管理定时启动?  

 

注: 这个表格不错, 如果有可能, 今后自己再总结一些添加进来.

摘自:<Windows用户态程序高效排错>

你可能感兴趣的:(范围)