好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

程序员请不要忽视调试技术

程序员请不要忽视调试技术

想写这篇文章已经很久了,但是一直不知道如何开始,因为调试技术这个东西本身不像编程语言,C++/C#这种简单的东西,大家想做些什么,查查类库,查查msdn,写出一些功能,皆大欢喜。

调试技术本身就很枯燥,如果没有一定定力的兄弟,看看可能就觉得犯困,没劲,没成就感。但是想想程序员,每天写代码一小时,可能调试的时间至少也需要一小时,当然,写到这可能你不同意,觉得你自己不是这样的,你不需要调试,对,我说的只是一般情况,不排除有高手,口水战也没社么意思,直接忽略这种情况。

不知道为什么,国内研究调试技术的人不是很多,可能大家都觉得这些基础的东西没意思,大家都在研究云计算,研究设计架构模式吧,我等无法企及的高度。呵呵,不扯了,开始重点的:

 

据我所知,在软件开发过程中有些及其重要的环节都需要调试技术,而且国外对这方面研究的也很多,我也不想说谁浮躁,但是这些基础的技术确实值得我们研究。

 

举个例子:

你公司开发的产品,在客户那边crash了,客户的环境不允许你访问,客户不知道问题是怎么发生的,他说他喝了杯茶,回来就发现问题的。

你想,你妹的,你还拉屎呢?

 

其实这个时候就需要调试技术了,怨天尤人是没有用处的,最好的方式就是分析日志,查看.dump文件,但是你能看得懂么?学学调试技术吧,学学反汇编吧,其实这些东西都是作为程序员的基本功,别告诉我你会云计算,在这个时候,对客户一点用都没有。

 

下面说说主流的调试技术:

 

由于调试技术比较接近系统底层,所有他和系统的架构,比如X86, ARM,有紧密的关系,常见的架构是X86,而且和OS相关,常见的OS是linux和windows。

 

windows 平台的调试工具比较多,高手用windbg比较多。

linux不用说,用GDB的比较多。

 

写几个demo考考大家的调试水平:

When you are using recursive definitions of this type, each alias is translated as soon as it is used.

For example, the following example displays 3, not 7.


Similarly, the following example displays 3, not 7.


The following example is also permitted and displays 9.


 

 

总结

我写这篇文章的意图是想说明,作为程序员,除了必要的算法,语言,系统,必要的调试技术也是基本功,而这项基本功在国内没有引起足够的重视,希望你可以看到我这篇文章。

 

分类:  Windows调试技术 ,  有感而发 ,  原创文章

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于程序员请不要忽视调试技术的详细内容...

  阅读:35次