任何举动之前,先思考,思考,再思考

任何举动之前,先思考,思考,再思考——Windows用户态程序高效排错》之读书笔记


之所以会读Windows用户态程序高效排错》这本书,是因为某个卖存储的技术大拿不停地给我丢case,一些虽然看起来很容易,但是设计细节部分的case让人崩溃。在这段时间陆续重新开始使用netmonwindbg等工具来帮助排错。无奈,到处托人帮忙,正好有位同乡MVP手头有这本书,死脸皮要过来看了。很好很强大!虽然对汇编,cc++等语言是一窍不通,硬着头皮看,也学到了一些非常有用的排错方法。

任何举动之前,先思考,思考,再思考。

01.相信事实,不要相信经验

很多时候,看到某工程师基于自己的经验,对case做一些无聊的猜测,并最终导致问题没解决或者恶化的案例真的很多。以前我是这样,现在稍微好一点了,但是依然还是会站在自己的经验上来处理问题。以后要减少这方面的问题。(同时这里感谢江苏的sun大哥,总是挑我的错呢,虽然被挑到的时候我总是会脸红一下,你看我不到看我不到!)

任何case,只要客户端报错了,那么它就是事实存在的。如果你因为经验陷入在定向思维上,很难去找到问题根本并解决。

02.详细观察问题发生的过程,对任何线索保持敏感

数字,比如2n次方可以解释很多问题。

某个选项,比如SSLdns解析?

03.用对比的方法来寻求问题的根源

让问题复现,并与正常状态进行对比。

04.cpu的节奏和方法来理解整个过程

慢慢想象整个过程的来龙去脉,然后慢慢演示,前推后推10步,一般也就能找到问题的症结。

05.文档不是万能的,没有文档是万万不能的

很多时候,文档可以帮你了解过程,但是很多文档都是有瑕疵甚至有绝对错误的时候。千万不要因为没有复现文档的状态而灰心,因为这意味着你又找到了一个新的case!多么有挑战啊!

06.坚实的基础知识可以让你事半功倍!

不要总是想着速成,如果都是速成,还要GTSC干嘛?还要IT support部门干嘛?你硬着头皮看点非常基础,非常没有成就感的书,看2本后,你就会发现,这个世界的case很多都是因为最基本的问题没有弄清楚而导致的。

07.不要局限在头疼医头,要全面的了解是否这个case可以更完美的解决

一般因为客户的要求,我仅仅协助他解决了当前的问题。可是如果当前的修改极有可能引发了未来可能预见到的大问题,你是否还会选择这个解决方案呢?当然了,如果你是IT公司,希望赚取更多的服务费,那就是另外一个说法了。

日常排错的checklist

1)补丁打全了么?

2MS support查了么?有对应的补丁可以打么?

3)问题在同一台机器上是偶尔发生,还是总是可以重现

4)问题在不同的机器能重现么?

5)能用类似的软件测试该问题么?

6)错误截屏了么?

7)重现问题的步骤是什么?有特殊的地方么?

8)有办法可以缓解或者暂时解决么?

9)有防火墙,防病毒软件么?

10)排错是在生产环境还是在测试环境中进行?

11)用到数据库了吗?什么类型的?

12)问题和负载有关系么?

13)网络环境如何?nat

14)有用群集么?NLB

15)在domain中么?

16)非domain环境是否在serverclient端闯将相同名和密码的账户进行测试?

17)最近有安装新补丁,或者新软件么?

18)除了问题本身,系统有什么异常?内存,cpu,网络?

19)系统日志有什么显示什么问题么?

20)尝试更换一个程序账户测试?比如另外一个管理员账户?

以上是排错思维的一些笔记。

--------插花----------

这本书我没有能力全看懂,太多的程序设计的问题了。但是这本书可以让了解如何使用windbg来帮你解决问题。书很便宜,仅35RMB,考虑到这本书是2007年出的,现在至少是8折。

----此书还在硬啃中------

转自:http://xunyangit.spaces.live.com/blog/cns!F934535AFC3723BA!839.entry

转载于:https://www.cnblogs.com/bvbook/archive/2009/09/21/1571331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值