围绕如何实现高效调试这一主题,本书深入系统地介绍了以调试器为核心的各种软件调试技术。本书共30章,分为6篇。第1篇介绍了软件调试的概况和简要历史。第2篇以英特尔架构(IA)的CPU为例,介绍了计算机系统的硬件核心所提供的调试支持,包括异常、断点指令、单步执行标志、分支监视、JTAG和MCE等。第3篇以Windows操作系统为例,介绍了计算机系统的软件核心中的调试设施,包括内核调试引擎、用户态调试子系统、异常处理、验证器、错误报告、事件追踪、故障转储、硬件错误处理等。第4篇以Visual C/C++编译器为例,介绍了生产软件的主要工具的调试支持,重点讨论了编译期检查、运行期检查及调试符号。第5篇讨论了软件的可调试性,探讨了如何在软件架构设计和软件开发过程中加入调试支持,使软件更容易被调试。在前5篇内容的基础上,第6篇首先介绍了调试器的发展历史、典型功能...
(展开全部)
围绕如何实现高效调试这一主题,本书深入系统地介绍了以调试器为核心的各种软件调试技术。本书共30章,分为6篇。第1篇介绍了软件调试的概况和简要历史。第2篇以英特尔架构(IA)的CPU为例,介绍了计算机系统的硬件核心所提供的调试支持,包括异常、断点指令、单步执行标志、分支监视、JTAG和MCE等。第3篇以Windows操作系统为例,介绍了计算机系统的软件核心中的调试设施,包括内核调试引擎、用户态调试子系统、异常处理、验证器、错误报告、事件追踪、故障转储、硬件错误处理等。第4篇以Visual C/C++编译器为例,介绍了生产软件的主要工具的调试支持,重点讨论了编译期检查、运行期检查及调试符号。第5篇讨论了软件的可调试性,探讨了如何在软件架构设计和软件开发过程中加入调试支持,使软件更容易被调试。在前5篇内容的基础上,第6篇首先介绍了调试器的发展历史、典型功能和实现方法,然后全面介绍了WinDBG调试器,包括它的模块结构、工作模型、使用方法和主要调试功能的实现细节。.
本书是对软件调试技术在过去50年中所取得成就的全面展示,也是对作者本人在软件设计和系统开发第一线奋战10多年的经验总结。本书理论与实践紧密结合,选取了大量具有代表性和普遍意义的技术细节进行讨论,是学习软件调试技术的宝贵资料,适合每一位希望深刻理解软件和自由驾驭软件的人阅读,特别是从事软件开发、测试、支持的技术人员和有关的研究人员。...
首先要肯定张老师写了一本非常好的书,从您的书中学到了不少东西,尤其是一些调试机理的东西对自己收获很大。曾经的曾经对调试器很感兴趣,觉得他是个很神秘的东西就象以前对操作系统内核的感觉似的。国内TRW的作者刘涛涛先生,Syser的作者吴岩峰先生都做出过自己的debugger,...
(
展开
)
为了便于大家评估,特罗列出一些公开的资源供参考: 1)浏览目录 可以看上面的,也可以点击下面的链接,查看更详细的三级目录: http://advdbg.org/books/swdbg/toc_3rd.aspx 2)读一下简介 下面的网页中包含了封底简介和页前简介的详细版本: http://advdbg.org/books/swdbg/a...
(
展开
)
英文名:Software Debugging 作者:张银奎 第1编 绪论 第1章 软件调试基础 一个完整的软件调试过程: 1)重现故障 2)定位根源(最困难也是最关键的步骤) 3)探索和实现解决方案 4)验证方案(又称回归测试) 导致软件调试复杂性的几个因素...
(
展开
)
个人感觉,软件调试不是一门孤立的学科,不了解硬件,操作系统,只了解被调试软件,虽然可以找到一般的bug,很难找到一些深入的问题。 这本书让我喜欢的地方恰恰就是它除了介绍调试器的知识外,还补充了很多系统知识,为深入调试程序打下了坚实基础。
(
展开
)
从CPU到操作系统再到编译器讲述调试功能,结构清晰。不过读此书的目的是什么呢,写一个调试器?如果仅仅是为了提高自己的调试能力,本书作用很小。但是另一方面,如果在本方面的知识比较丰富,也能写出更便于调试的程序,呃,我把刚才自己说的言论推翻了。 总之,强烈推荐。
(
展开
)
对于这样原理性质很强的书,仅仅读这一本效果不会太好 倒不是说张先生的书不好,原理和基础这样的东西本身就存在着理解的差异,对于我们这样的读者需要多读读很多其他相关人写的东西 比如大名鼎鼎的《深入解析计算机系统》 我个人一直认为底层编程既然不考虑用户层面的需要,那...
(
展开
)
我像个无头苍蝇编了几年代码,编的乱七八糟的,但是只知其然,不知其所以然。张老师这本书讲了很多底层的东西,从硬件到操作系统支持,到应用软件下函数传参,返回值。我是从后往前看的,比较适合我这种菜鸟,感觉能把自己这几年学的东西串起来,而且对底层也开始了解,相信会...
(
展开
)
这篇书评可能有关键情节透露
献给所有不及格的程序员们 对于刚刚进入此行业的程序员来说,软件调试是一个熟悉又陌生的领域,熟悉是因为经常会听到人说"你调一下程序,看看变量值对不对?",陌生是因为大部分程序员不知道在IDE开发环境中按F5键跟踪程序运行到底发生了什么事儿。 通过阅读<<软件调试>>这本书,...
(
展开
)