购物车 0 件商品 共 ¥0.0

软件调试

软件调试

评分: 已有0人评价

分享到:

丛书名:博文视点:调试进行曲
作者:张银奎
出版社:电子工业出版社
出版日期:2008-06
ISBN:9787121064074
版次:1版 页数:28,1006页 字数:1200000 开本:小16开
包装:平装

定价:128.0 折扣:83折
蔚蓝价:¥106.2 vip(2-3星):¥103.7 svip(4-5星):¥101.1

我要买:

 

内容简介

围绕如何实现高效调试这一主题,本书深入系统地介绍了以调试器为核心的各种软件调试技术。本书共30章,分为6篇。第1篇介绍了软件调试的概况和简要历史。第2篇以英特尔架构(IA)的CPU为例,介绍了计算机系统的硬件核心所提供的调试支持,包括异常、断点指令、单步执行标志、分支监视、JTAG和MCE等。第3篇以Windows操作系统为例,介绍了计算机系统的软件核心中的调试设施,包括内核调试引擎、用户态调试子系统、异常处理、验证器、错误报告、事件追踪、故障转储、硬件错误处理等。第4篇以Visual C/C++编译器为例,介绍了生产软件的主要工具的调试支持,重点讨论了编译期检查、运行期检查及调试符号。第5篇讨论了软件的可调试性,探讨了如何在软件架构设计和软件开发过程中加入调试支持,使软件更容易被调试。在前5篇内容的基础上,第6篇首先介绍了调试器的发展历史、典型功能和实现方法,然后全面介绍了WinDBG调试器,包括它的模块结构、工作模型、使用方法和主要调试功能的实现细节。
    本书是对软件调试技术在过去50年中所取得成就的全面展示,也是对作者本人在软件设计和系统开发第一线奋战10多年的经验总结。本书理论与实践紧密结合,选取了大量具有代表性和普遍意义的技术细节进行讨论,是学习软件调试技术的宝贵资料,适合每一位希望深刻理解软件和自由驾驭软件的人阅读,特别是从事软件开发、测试、支持的技术人员和有关的研究人员。

编辑推荐

ACM院士和调试技术先驱Jack B.Dennis教授做历史回顾计算机和操作系统领域资深专家David A.Solomon撰写序言。调试高手笔耕三载集十余年经验成百万言篇,业内专家鼎力相助,汇五十年精华补软件界空白。

  您将学习到:

  CPU的调试支持,包括异常、断点、单步执行、分支监视、JTAG、MCE等。

  Windows操作系统中的调试设施,包括内核调试引擎、用户态调试予系统、验证器、Dr.Watson、WER、ETW、故障转储、WHEA等。

  Visual C/C++编译器的调试支持,包括编译期检查、运行期检查,以及调试符号。

  WinDBG调试器的发展历史、模块结构、工作模型、使用方法、主要调试功能的实现细节,以及遍布全书的应用实例。

  内核调试、用户态调试、JIT调试、远程调试的原理、实现和用法。异常的概念、分发方法、处理方法(SEH、VEH、CppEH),未处理异常,以及编译器编译异常处理代码的方法。

  调试符号的作用、产生过程、存储格式和使用方法。栈和堆的结构布局、工作原理和有关的软件问题,包括栈的自动增长和溢出,缓;中区溢出,溢出攻击,内存泄漏,堆崩溃等。

  软件的可调试性和提高可调试性的方法。

  此外,书中还诠释了很多较难理解的概念,思考了一系列耐人深思和具有普遍意义的问题。本书是对软件调试技术在过去50年中所取得成就的全面展示,也是笔者本人在软件设计和系统开发第一线奋战10多年的经验总结。本书适合每一位希望..

媒体评论

第1篇  绪论
   第1章  软件调试基础
    1955年,一个名叫Computer Usage Corporation(CUC)的公司诞生了,它是世界上第一个专门从事软件开发和服务的公司。CUC公司的创始人是Elmer Kubie和John w Sheldon,他们都在IBM工作过。从当时计算机硬件的迅速发展中,他们看到了软件方面所潜在的机遇。CUC的诞生标志着一个新兴的产业正式起步了。
    与其他产业相比,软件产业的发展速度是惊人的。短短50几年后,我们已经难以统计世界上共有多少个软件公司,只知道一定是一个很庞大的数字,而且这个数量还在不断增大。同时,软件产品的数量也达到了难以统计的程度,各种各样的软件已经渗透到人类生产和生活的各个领域,越来越多的人开始依赖软件工作和生活。
    与传统的产品相比,软件产品具有根本的不同,其生产过程也有着根本的差异。在开发软件的整个过程中,存在非常多的不确定性因素。在一个软件真正完成之前,很难预计它的完成日期。很多软件项目都经历了多次的延期,还有很多中途夭折。直到今天,人们还没有找到一种有效的方法来控制软件的生产过程。导致软件生产难以控制的根本原因是来源于软件本身的复杂性。一个软件的规模越大,它的复杂度也越高。
    简单来说,软件是程序(program)和文档(document)的集合,程序的核心内容便是按一定顺序排列的一系列指令(instruction)。如果把每个指令看作一块积木,那么软件开发就是使用这些积木修建一个让CPU(中央处理器)在其中运行的交通系统。这个系统中有很多条不同特征的道路(函数)。有些道路只允许一辆车在上面行驶,一辆车驶出后另一辆才能进入,有些道路可以让无数辆车同时在上面飞奔。这些道路都是单行道,只可以沿一个方向行驶。在这些道路之间,除了明确的入口(entry)和出口(exit)之外,还可以通过中断和异常等机制从一条路飞越到另一条,另一条又可以飞转到第三条或直接飞回到第一条。在这个系统中行驶的车辆也很特殊,它们速度很快,而且“无人驾驶”,完全不知道会跑到哪里,唯一的原则就是上了一条路便沿着它向前跑……
    如果说软件的执行过程就好像是CPU在无数条道路(指令流)间飞奔,那么开

目录

第1章  绪论
  第1章  软件调试基础
第2篇  CPU的调试支持
  第2章  CPU基础
  第3章  中断和异常
  第4章  断点和单步执行
  第5章  分支记录和性能监视
  第6章  机器检查架构(MCA)
  第7章  JTAG调试
第3篇  操作系统的调试支持
  第8章  Windows概要
  第9章  用户态调试模型
  第10章  用户态调试过程
  第11章  中断和异常管理
  第12章  未处理异常和JIT调试
  第13章  硬错误和蓝屏
  第14章  错误报告
  第P5章  曰志
  第16章  事件追踪
  第17章  WHEA
  第18章  内核调试引擎
  第19章  Windows的验证机制
第4篇  编译器的调试支持
  第20章  编译和编译期检查
  第21章  运行库和运行期检查
  第22章  栈和函数调用
  第23章  堆和堆检查
  第24章..

书摘

第1篇  绪论
   第1章  软件调试基础
    1955年,一个名叫Computer Usage Corporation(CUC)的公司诞生了,它是世界上第一个专门从事软件开发和服务的公司。CUC公司的创始人是Elmer Kubie和John w Sheldon,他们都在IBM工作过。从当时计算机硬件的迅速发展中,他们看到了软件方面所潜在的机遇。CUC的诞生标志着一个新兴的产业正式起步了。
    与其他产业相比,软件产业的发展速度是惊人的。短短50几年后,我们已经难以统计世界上共有多少个软件公司,只知道一定是一个很庞大的数字,而且这个数量还在不断增大。同时,软件产品的数量也达到了难以统计的程度,各种各样的软件已经渗透到人类生产和生活的各个领域,越来越多的人开始依赖软件工作和生活。
    与传统的产品相比,软件产品具有根本的不同,其生产过程也有着根本的差异。在开发软件的整个过程中,存在非常多的不确定性因素。在一个软件真正完成之前,很难预计它的完成日期。很多软件项目都经历了多次的延期,还有很多中途夭折。直到今天,人们还没有找到一种有效的方法来控制软件的生产过程。导致软件生产难以控制的根本原因是来源于软件本身的复杂性。一个软件的规模越大,它的复杂度也越高。
    简单来说,软件是程序(program)和文档(document)的集合,程序的核心内容便是按一定顺序排列的一系列指令(instruction)。如果把每个指令看作一块积木,那么软件开发就是使用这些积木修建一个让CPU(中央处理器)在其中运行的交通系统。这个系统中有很多条不同特征的道路(函数)。有些道路只允许一辆车在上面行驶,一辆车驶出后另一辆才能进入,有些道路可以让无数辆车同时在上面飞奔。这些道路都是单行道,只可以沿一个方向行驶。在这些道路之间,除了明确的入口(entry)和出口(exit)之外,还可以通过中断和异常等机制从一条路飞越到另一条,另一条又可以飞转到第三条或直接飞回到第一条。在这个系统中行驶的车辆也很特殊,它们速度很快,而且“无人驾驶”,完全不知道会跑到哪里,唯一的原则就是上了一条路便沿着它向前跑……
    如果说软件的执行过程就好像是CPU在无数条道路

查看所有评论>> 商品评论(0)


0星

很喜欢 0

一   般 0

不喜欢 0


商品问答(0)

蔚蓝网服务承诺