Stamp of Software Debugging
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
navigation bar seprate line

本书堪称是软件调试的“百科全书”。作者围绕软件调试的“生态”系统(ecosystem)、异常(exception)和调试器三条主线,介绍软件调试的相关原理和机制,探讨可调试性(debuggability)的内涵、意义,以及实现软件可调试性的原则和方法,总结软件调试的方法和技巧。

第1卷主要围绕硬件技术展开介绍,分为4篇,共16章。第一篇“绪论”(第1章),介绍了软件调试的概念、基本过程、分类和简要历史,并综述了本书后面将详细介绍的主要调试技术。第二篇“CPU及其调试设施”(第2~7章),以英特尔和ARM架构的CPU为例系统描述了CPU的调试支持。第三篇“GPU及其调试设施”(第8~14章),深入探讨了Nvidia、AMD、英特尔、ARM和Imagination 这五大厂商的GPU。第四篇“可调试性”(第15~16章),介绍了提高软件可调试性的意义、基本原则、实例和需要注意的问题,并讨论了如何在软件开发实践中实现可调试性。

本书第2 卷分为5 篇,共30 章,主要围绕Windows系统展开介绍。第一篇(第1~4 章)介绍Windows 系统简史、进程和线程、架构和系统部件,以及Windows系统的启动过程,既从空间角度讲述Windows 的软件世界,也从时间角度描述Windows 世界的搭建过程。 第二篇(第5~8 章)描述特殊的过程调用、垫片、托管世界和Linux 子系统。第三篇(第9~19 章)深入 探讨用户态调试模型、用户态调试过程、中断和异常管理、未处理异常和JIT 调试、硬错误和蓝屏、错误 报告、日志、事件追踪、WHEA、内核调试引擎和验证机制。第四篇(第20~25 章)从编译和编译期检查、 运行时库和运行期检查、栈和函数调用、堆和堆检查、异常处理代码的编译、调试符号等方面概括编译器 的调试支持。第五篇(第26~30 章)首先纵览调试器的发展历史、工作模型和经典架构,然后分别讨论集 成在Visual Studio 和Visual Studio(VS)Code 中的调试器,最后深度解析WinDBG 调试器的历史、结构 和用法。

本书理论与实践紧密结合,既涵盖了相关的技术背景知识,又针对大量具有代表性和普遍意义的技术细节进行讨论,是学习软件调试技术的宝贵资料。本书适合所有从事软件开发工作的读者阅读,特别适合从事软件开发、测试、支持的技术人员,从事反病毒、网络安全、版权保护等工作的技术人员,以及高等院校相关专业的教师和学生学习参考。















navigation bar seprate line
Copyright (C) 2018 Raymond Zhang, All Rights Reserved