当前位置: 首页 > news >正文

《Windows高级调试》评价

    

     从事了数年的软件开发,我觉得工作中最考脑筋的有两个方面:软件设计和软件调试。通常技术人员个人能力的高低,很大程度上也是看这两方面的能力。以往讨论软件设计的书都已经很多,但是软件调试却似乎一直没有得到足够的关注。当我个人试图从程序员的视角转换出来,更多的从全局的眼光来观察软件生命周期中的方方面面 时,很高兴能够读到《Windows高级调试》这本好书。

    《Windows高级调试》(后面简称AWD)是一本实用化的书。整本书都是联系软件调试中的实际操作来讲述的。第二部分中分类讲解了各种常见的BUG问题的调试方法,每一部分都是按照如何识别问题、如何分析原因、如何调试确认这样的流程。这是非常符合我们在实际的调试工作中的思维方式的。
    
    AWD是一本包含作者很多调试经验的书。令我印象非常深刻的是第二章中的一句话:“由于扩展命令!dreg的参数是非常长的,因此我们经常将这些参数从之前的调试会话中复制过来。一种常见的情况是,在每次分析调试会话之前,首先在文件中保存一组命令,然后再将根据需要将这些命令复制到调试会话中。”就像是一位调试经验丰富的朋友在谈话中偶尔传达给大家的经验之谈。虽然看起来不起眼,但是却常常能对工作起到很好的帮助。实际上,之前我自己在调试的时候就是像作者所说的这样做的。

    刚刚接触软件调试和有丰富调试经验的开发人员都能从AWD中找到自己需要的东西。新手可以从作者讲解的分析思路中学到当遇到实际问题的时候应该从什么方面去思考。书中也还介绍了一些东西,需要相当调试经验才能理解它的作用,例如第6章对堆内存分配机制的内容。通常来说很多问题并不需要了解堆分配的细节就能解决,但是有一些特殊情况,例如通过工具和命令不能自动分析,必须手动分析堆管理器的内部数据时。关于软件调试的内容,有很多是可以马上用到手上的,但是也有很多需要在读完之后在漫长的实践和经验积累中才能慢慢体会到作用的。

    如果想全面了解软件调试技术,单看AWD这一本书是不够的。这本书比较遗憾的是没有系统的介绍调试器和各种调试工具的使用。很多命令和工具是穿插在调试场景中介绍的。不过这方面的内容也足以写一本几百页的书了,AWD的篇幅可能没有办法面面俱到。关于调试器和调试工具的使用,建议读者也专门找一些资料来学习,例如WinDbg的帮助文档就是非常好的资源。

相关文章:

  • 代码之王(1) ——《观止》
  • 《正在爆发互联网革命》封面征集活动开始了
  • 沉寂十五年后,首次与中国读者见面,微软全球副总裁张亚勤推荐《观止》
  • Beautiful Data 诚征译者
  • 一个比尔盖茨都怕的人?他是谁?
  • 《观止》让我一夜未眠
  • 《观止》-观而不止
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 《观止》是一部关于人和感情的书
  • 《观止》占据了我整个周末时间
  • 《观止》不能错过的好书
  • 《观止》创销售纪录,上市一周2次印刷
  • 偷菜的革命——献给所有忙于偷菜、乐于偷菜和疲于偷菜的您!
  • 哥写的不是代码,是寂寞
  • 偷菜的革命 ——献给所有忙于偷菜、乐于偷菜和疲于偷菜的您!
  • AWS实战 - 利用IAM对S3做访问控制
  • conda常用的命令
  • es的写入过程
  • HTTP中的ETag在移动客户端的应用
  • java概述
  • Less 日常用法
  • MySQL主从复制读写分离及奇怪的问题
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • python_bomb----数据类型总结
  • Python_网络编程
  • Python利用正则抓取网页内容保存到本地
  • Spring Boot MyBatis配置多种数据库
  • V4L2视频输入框架概述
  • Xmanager 远程桌面 CentOS 7
  • XML已死 ?
  • 从PHP迁移至Golang - 基础篇
  • 解决iview多表头动态更改列元素发生的错误
  • 力扣(LeetCode)56
  • 前端_面试
  • 前端面试题总结
  • 人脸识别最新开发经验demo
  • 使用putty远程连接linux
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 数据可视化之 Sankey 桑基图的实现
  • 湖北分布式智能数据采集方法有哪些?
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • $.ajax()参数及用法
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (06)金属布线——为半导体注入生命的连接
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (python)数据结构---字典
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm码农论坛 毕业设计 231126
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (十一)手动添加用户和文件的特殊权限
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (正则)提取页面里的img标签
  • .NET Core 版本不支持的问题