跟我一起学windows初高级调试(1) --你为什么要学调试

                   跟我一起学windows初高级调试之你为什么要学调试

       本系列文章使用C/C++语言,vs自带调试器和windbg等其他相关调试工具,介绍windows下用户态下的初高级调试,不涉及内核调试。

关于我

我不是专家,只是一个热爱技术的程序猿。

写本系列博文主要有以下三个目的:

   1.系统的学习相关调试技术。

   2.记录学习历程。

   3.交流调试技术。

   4.帮助更多初学者。

适合人群:

   1.使用C/C++语言编写过相关windows程序,希望学习相关调试技术的童鞋。

   2.熟悉IDE自带调试器调试,但对windbg不熟悉,希望使用windbg提高工作效率的童鞋。

   3.使用过windbg进行调试,但并未系统的学习过相关调试理论的童鞋。


     也许很多人会问调试还分为初级和高级调试么?在此我将初级调试和高级调试作以下分类:

     初级调试:使用IDE自带调试工具,如vc6.0vs自带调试器,在开发过程中使用断点进行简单的单步跟踪、单步调试。

     高级调试:使用windbg定位修复程序出现的各种复杂问题。如栈溢出,堆破坏、死锁、资源泄露等。

     之所以这样区分并不是因为vs自带调试器不如windbg。而是因为二者有各自的适用范围 。

                                       你为什么要学调试

    有过一段时间编程经验的程序员都明白,程序不可能一遍写成。需要经过多次的修改、运行、再修改再运行...经过若干次的迭代之后才会交付或发布。而发布也并不意味着结束,因为在运行中也会发现各种bug,然后就是改bug->测试->引入新bug->再测试等等这一系列的迭代过程。对于工期紧张的软件项目,后期常常由于现有bug无法被修复,而导致延期交付,客户有意见,领导不满意,损害了公司的声誉。而拥有了软件调试的相关技术后,各种bug再也不在难以攻克了。

     每每谈起调试,听到的更多的都是我使用vs自带的调试器已经足够,为什么还要学习什么windbg

     不得不承认vs自带调试器的可操作性要比windbg好的多。在代码编写阶段,vs是不二选择。相比之下windbg却拥有众多晦涩难懂的命令,界面也相对丑陋,可操作性差,而且使用前需要配置。但是对于事后调试(以后会介绍)和定位类似死锁、资源泄露、堆破坏等复杂问题,Windbg就大有用武之地。Windbg基于命令行,灵活且功能强大。尺有所短寸有所长,二者适用范围不一样。后面我们会遇到同时使用二者进行问题定位与分析的情况。

学习调试技术的好处:

     1. 将多方面知识融会贯通。

         软件调试涉及操作系统、cpu、编译原理等各个方面的知识,是计算机各个模块复杂交互的过程,学习调试不仅可以提高我们的调试技能,还能够加深对计算机系统的理解,将各个学科的知识融会贯通。

     2. 应用到平时开发工作中去,提高软件的可调试性。

        在软件开发过程中有目的的添加一些方便调试的代码,方便了以后的调试。提高了调试效率同时也方便以后的维护。

     3. 快速熟悉陌生代码和系统底层。

         运用调试手段观察、跟踪和理解代码的执行过程,加深对软件执行流程和系统底层的理解。

     4. 提高工作效率。

         很多软件项目的延期是跟无法定位与解决存在的bug有关。掌握了基本的调试方法和调试工具后,可以提高工作效率。原本需要很长时间才能定位、发现的问题,可以很快的解决。你当然不需要加班加点,软件项目也可按期交付,提高客户满意度和公司竞争力。

      5. 提高个人核心竞争力,有利于个人长远发展。

         由于软件调试技术广泛的关联性,增加了学习软件调试技术的难度,准入门槛高,同时该技术在短时间内难以发展和升级。软件调试技术具有很好的稳定性,一朝学会终生受用。


     接触过很多优秀的程序员,发现他们都很看中软件调试。他们编写的软件在提交测试之前已经通过调试修复。对于测试发现的问题也能够及时的发现问题的所在。因此在公司拥有很好的口碑。


初步计划本系列文章分为初级篇、进阶篇和高级篇。

 接下来的初级篇的几篇文章将包括以下几个方面的内容:

     1.介绍vs自带调试器的使用,并进行简单调试。

     2.初次接触windbg,简要介绍windbg使用。

     3.使用windbg进行简单的调试。

 

     初级篇和进阶篇均面向实用,一切以可以应用到实际使用为出发点。不注重讲解各种长篇大论的调试理论。随着认识的不断深入,高级篇将会对各种理论进行系统阐述。

    学习软件调试是枯燥的,你必须一遍又一遍的去研读调试理论。同时也是快乐的,我们享受攻克一个有一个难关后的欣喜。 在这个浮躁的时代,我们总是抱怨工资太少,房子太小,车子不好。可是抱怨之后情况仍不会有所改观。改变现状最好的办法就是改变我们自己。静下心去好好钻研一些东西,提高自己的含金量。谁也不会亏待一个有真才实学的人。当然并不一定必须去钻研调试技术,任何其他技术也一样。

                                                                       2014.2.9于浙江杭州

 

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: VC++ 2010习版是微软公司开发的一款用于习C++编程的集成开发环境。该软件提供了一系列C++开发工具,如编译器、调试器、编辑器等,方便习者进行代码编写、调试和优化。VC++ 2010习版界面简洁清晰,易于使用,支持多种编译模式和项目类型,只要有一定的计算机基础,就可以快速上手。 VC++ 2010习版的下载和安装也非常简单,只需在微软官网上下载安装程序,按照提示进行安装即可。在安装过程中,可以根据自己的需要选择安装路径和所需的组件,以节省磁盘空间。 VC++ 2010习版的使用对于想要学习和掌握C++编程技术的人来说非常重要。通过习该软件,可以更加深入地了解C++的语法、语义和编程规范,掌握C++编程的基本技能和方法,为今后从事软件开发和计算机科领域的工作打下坚实的基础。因此,建议有意向习C++编程的人士下载安装VC++ 2010习版,并认真研究和实践,从而获得更好的习效果和能力提升。 ### 回答2: VC 2010习版是一款由Microsoft公司开发的适用于Windows操作系统的编程工具。该软件可以与C++和C#语言一起使用,用于进行程序设计和开发。VC 2010习版拥有界面友好、操作简便、功能强大等诸多优点,成为许多开发者和编程爱好者的首选软件之一。 如果想要下载VC 2010习版,可以在Microsoft官方网站中找到相关下载链接,也可以在一些知名下载站点中进行下载。在下载前需要注意软件版本、操作系统版本等信息,并确保下载来源可靠、安全。下载后需要按照安装提示进行安装,并根据需要进行相应的设置和配置,如选择安装位置、安装组件等。 习VC 2010开发需要一定的编程基础,特别是C++或C#语言的基础知识,建议在习前先了解相关知识点,能够更好地理解和应用软件功能。此外,还可以参考相关教程、视频资料等进行习,掌握编程思路和技巧。随着不断的实践和探索,相信能够在VC 2010习版的帮助下快速成长为一名优秀的程序开发者。 ### 回答3: VC++ 2010习版是微软官方推出的一款C++编译器,也是一种IDE(集成开发环境)。VC++ 2010习版中包含了完整的VC++ 2010开发环境所需的所有组件,如MFC、ATL、C++/CLI等。它不仅拥有强大的编译器,而且还提供了非常多的代码示例和习资料。习者可以通过习这些示例,快速地掌握VC++开发的技巧和方法。 VC++ 2010习版下载的方式如下:首先,在搜索引擎中搜索“VC++ 2010习版下载”,进入官方下载页面。然后,找到下载链接,并点击“下载”按钮即可。下载完成后,打开安装程序,按照提示完成安装即可开始使用。 值得注意的是,VC++ 2010习版是免费的,但是它有一些限制,如不能用于商业用途,不能用于发布软件等。此外,VC++ 2010习版相对于专业版来说,有一些功能被削减了,例如无法使用某些高级调试工具、无法编写ActiveX控件等。因此,对于习者来说,VC++ 2010习版可以满足基本的习需要,但如果需要进行高级的开发工作,建议使用专业版或其他更高级版本的开发工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值