RSS

读书笔记之windows用户态程序高效排错

21 Mar

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

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

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

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

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

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

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

某个选项,比如SSL?dns解析?

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

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

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

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

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

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

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

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

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

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

 

日常排错的checklist

1、补丁打全了么?

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

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

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

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

6、错误截屏了么?

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

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

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

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

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

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

13、网络环境如何?nat?

14、有用群集么?NLB?

15、在domain中么?

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

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

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

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

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

 

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

——–插花———-

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

—-此书还在硬啃中——

Advertisements
 
1 Comment

Posted by on March 21, 2009 in Books

 

One response to “读书笔记之windows用户态程序高效排错

  1. yeka

    September 18, 2009 at 10:47

    hi,我是这本书的策划编辑,有空聊聊好吗?yeka52@hotmail.com

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: