软件调试第2版卷1:硬件基础

软件调试第2版卷1:硬件基础
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-11
ISBN: 9787115492500
定价: 118.00
装帧: 平装
开本: 16开
纸张: 胶版纸
44人买过
  • 本书堪称是软件调试的“百科全书”。作者围绕软件调试的“生态”系统(ecosystem)、异常(exception)和调试器 3 条主线,介绍软件调试的相关原理和机制,探讨可调试性(debuggability)的内涵、意义以及实现软件可调试性的原则和方法,总结软件调试的方法和技巧。 
    第1卷主要围绕硬件技术展开介绍。全书分为4篇,共16章。第一篇“绪论”(第1章),介绍了软件调试的概念、基本过程、分类和简要历史,并综述了本书后面将详细介绍的主要调试技术。第二篇“CPU及其调试设施”(第2~7章),以英特尔和ARM架构的CPU为例系统描述了CPU的调试支持。第三篇“GPU及其调试设施”(第8~14章),深入探讨了Nvidia、AMD、英特尔、ARM和Imagination 这五大厂商的GPU。第四篇“可调试性”(第15~16章),介绍了提高软件可调试性的意义、基本原则、实例和需要注意的问题,并讨论了如何在软件开发实践中实现可调试性。 
    本书理论与实践紧密结合,既涵盖了相关的技术背景知识,又针对大量具有代表性和普遍意义的技术细节进行了讨论,是学习软件调试技术的宝贵资料。本书适合所有从事软件开发工作的读者阅读,特别适合从事软件开发、测试、支持的技术人员,从事反病毒、网络安全、版权保护等工作的技术人员,以及高等院校相关专业的教师和学生学习参考。 

    张银奎,国内知名的调试技术专家。毕业于上海交通大学信息与控制工程系,长期从事软件开发和研究工作,曾在英特尔工作13 年,对 IA-32 架构、操作系统内核、驱动程序,尤其是对软件调试有较深入的研究。著有《软件调试》《格蠹汇编》等畅销、常销技术图书, 格蠹科技(xedge.ai) 创始人,高端调试网站(advdbg.org)创建者。翻译(合译)作品有《二十一世纪机器人》《观止——微软创建NT和未来的夺命狂奔》《数据挖掘原理》《机器学习》《人工智能:复杂问题求解的结构和策略》等。 第 一篇 绪论 

     
    第1章 软件调试基础 3 

     
    1.1 简介 3 

     
    1.2 基本特征 5 

     
    1.3 简要历史 8 

     
    1.4 分类 12 

     
    1.5 调试技术概览 15 

     
    1.6 错误与缺欠 19 

     
    1.7 重要性 23 

     
    1.8 本章小结 26 

     
    参考资料 26 

     
    第二篇 CPU及其调试设施 

     
    第 2章 CPU基础 29 

     
    2.1 指令和指令集 29 

     
    2.2 英特尔架构处理器 33 

     
    2.3 CPU的操作模式 42 

     
    2.4 寄存器 44 

     
    2.5 理解保护模式 50 

     
    2.6 段机制 54 

     
    2.7 分页机制 59 

     
    2.8 PC系统概貌 73 

     
    2.9 ARM架构基础 75 

     
    2.10 本章小结 90 

     
    参考资料 90 

     
    第3章 中断和异常 91 

     
    3.1 概念和差异 91 

     
    3.2 异常的分类 93 

     
    3.3 异常例析 95 

     
    3.4 中断/异常的优先级 99 

     
    3.5 中断/异常处理 100 

     
    3.6 ARM架构中的异常机制 110 

     
    3.7 本章小结 112 

     
    参考资料 113 

     
    第4章 断点和单步执行 114 

     
    4.1 软件断点 114 

     
    4.2 硬件断点 123 

     
    4.3 陷阱标志 135 

     
    4.4 实模式调试器例析 140 

     
    4.5 反调试示例 145 

     
    4.6 ARM架构的断点支持 147 

     
    4.7 本章小结 156 

     
    参考资料 157 

     
    第5章 分支记录和性能监视 158 

     
    5.1 分支监视概览 159 

     
    5.2 使用寄存器的分支记录 159 

     
    5.3 使用内存的分支记录 166 

     
    5.4 DS示例:CpuWhere 169 

     
    5.5 性能监视 180 

     
    5.6 实时指令追踪 188 

     
    5.7 ARM架构的性能监视设施 192 

     
    5.8 本章小结 195 

     
    参考资料 195 

     
    第6章 机器检查架构 196 

     
    6.1 奔腾处理器的机器检查机制 196 

     
    6.2 MCA 198 

     
    6.3 编写MCA软件 205 

     
    6.4 本章小结 212 

     
    参考资料 212 

     
    第7章 JTAG调试 213 

     
    7.1 简介 213 

     
    7.2 JTAG原理 215 

     
    7.3 JTAG应用 219 

     
    7.4 IA处理器的JTAG支持 221 

     
    7.5 ARM处理器的JTAG支持 227 

     
    7.6 本章小结 232 

     
    参考资料 233 

     
    第三篇 GPU及其调试设施 

     
    第8章 GPU基础 237 

     
    8.1 GPU简史 237 

     
    8.2 设备身份 243 

     
    8.3 软件接口 244 

     
    8.4 GPU驱动模型 247 

     
    8.5 编程技术 250 

     
    8.6 调试设施 252 

     
    8.7 本章小结 254 

     
    参考资料 255 

     
    第9章 Nvidia GPU及其调试设施 256 

     
    9.1 概要 256 

     
    9.2 微架构 257 

     
    9.3 硬件指令集 268 

     
    9.4 PTX指令集 279 

     
    9.5 CUDA 286 

     
    9.6 异常和陷阱 293 

     
    9.7 系统调用 296 

     
    9.8 断点指令 299 

     
    9.9 Nsight的断点功能 301 

     
    9.10 数据断点 304 

     
    9.11 调试符号 306 

     
    9.12 CUDA GDB 307 

     
    9.13 CUDA调试器API 308 

     
    9.14 本章小结 312 

     
    参考资料 312 

     
    第10章 AMD GPU及其调试设施 314 

     
    10.1 演进简史 314 

     
    10.2 Terascale微架构 315 

     
    10.3 GCN微架构 318 

     
    10.4 GCN指令集 323 

     
    10.5 编程模型 325 

     
    10.6 异常和陷阱 327 

     
    10.7 控制波阵的调试接口 330 

     
    10.8 地址监视 332 

     
    10.9 单步调试支持 333 

     
    10.10 根据调试条件实现分支跳转的指令 335 

     
    10.11 代码断点 335 

     
    10.12 GPU调试模型和开发套件 337 

     
    10.13 ROCm-GDB 340 

     
    10.14 本章小结 341 

     
    参考资料 342 

     
    第11章 英特尔GPU及其调试设施 343 

     
    11.1 演进简史 343 

     
    11.2 GEN微架构 348 

     
    11.3 寄存器接口 354 

     
    11.4 命令流和环形缓冲区 357 

     
    11.5 逻辑环上下文和执行列表 360 

     
    11.6 GuC和通过GuC提交任务 365 

     
    11.7 媒体流水线 368 

     
    11.8 EU指令集 372 

     
    11.9 内存管理 377 

     
    11.10 异常 379 

     
    11.11 断点支持 381 

     
    11.12 单步执行 382 

     
    11.13 GT调试器 382 

     
    11.14 本章小结 386 

     
    参考资料 386 

     
    第12章 Mali GPU及其调试设施 387 

     
    12.1 概况 387 

     
    12.2 Midgard微架构 389 

     
    12.3 Bifrost微架构 393 

     
    12.4 Mali图形调试器 395 

     
    12.5 Gator 396 

     
    12.6 Kbase驱动的调试设施 399 

     
    12.7 其他调试设施 403 

     
    12.8 缺少的调试设施 405 

     
    12.9 本章小结 406 

     
    参考资料 406 

     
    第13章 PowerVR GPU及其调试设施 407 

     
    13.1 概要 407 

     
    13.2 Rogue微架构 410 

     
    13.3 参考指令集 413 

     
    13.4 软件模型和微内核 417 

     
    13.5 断点支持 418 

     
    13.6 离线编译和反汇编 420 

     
    13.7 PVR-GDB 421 

     
    13.8 本章小结 423 

     
    参考资料 423 

     
    第14章 GPU综述 424 

     
    14.1 比较 424 

     
    14.2 主要矛盾 425 

     
    14.3 发展趋势 426 

     
    14.4 其他GPU 427 

     
    14.5 学习资料和工具 430 

     
    14.6 本章小结 432 

     
    参考资料 432 

     
    第四篇 可调试性 

     
    第 15章 可调试性概览 435 

     
    15.1 简介 435 

     
    15.2 观止和未雨绸缪 436 

     
    15.3 基本原则 439 

     
    15.4 不可调试代码 444 

     
    15.5 可调试性例析 446 

     
    15.5.1 健康性检查和BSOD 447 

     
    15.6 与安全、商业秘密和性能的关系 449 

     
    15.7 本章小结 450 

     
    参考资料 451 

     
    第16章 可调试性的实现 452 

     
    16.1 角色和职责 452 

     
    16.2 可调试架构 455 

     
    16.3 通过栈回溯实现可追溯性 459 

     
    16.4 数据的可追溯性 466 

     
    16.5 可观察性的实现 472 

     
    16.5.1 状态查询 472 

     
    16.6 自检和自动报告 480 

     
    16.7 本章小结 482 

     
    参考资料 483
  • 内容简介:
    本书堪称是软件调试的“百科全书”。作者围绕软件调试的“生态”系统(ecosystem)、异常(exception)和调试器 3 条主线,介绍软件调试的相关原理和机制,探讨可调试性(debuggability)的内涵、意义以及实现软件可调试性的原则和方法,总结软件调试的方法和技巧。 
    第1卷主要围绕硬件技术展开介绍。全书分为4篇,共16章。第一篇“绪论”(第1章),介绍了软件调试的概念、基本过程、分类和简要历史,并综述了本书后面将详细介绍的主要调试技术。第二篇“CPU及其调试设施”(第2~7章),以英特尔和ARM架构的CPU为例系统描述了CPU的调试支持。第三篇“GPU及其调试设施”(第8~14章),深入探讨了Nvidia、AMD、英特尔、ARM和Imagination 这五大厂商的GPU。第四篇“可调试性”(第15~16章),介绍了提高软件可调试性的意义、基本原则、实例和需要注意的问题,并讨论了如何在软件开发实践中实现可调试性。 
    本书理论与实践紧密结合,既涵盖了相关的技术背景知识,又针对大量具有代表性和普遍意义的技术细节进行了讨论,是学习软件调试技术的宝贵资料。本书适合所有从事软件开发工作的读者阅读,特别适合从事软件开发、测试、支持的技术人员,从事反病毒、网络安全、版权保护等工作的技术人员,以及高等院校相关专业的教师和学生学习参考。 

  • 作者简介:
    张银奎,国内知名的调试技术专家。毕业于上海交通大学信息与控制工程系,长期从事软件开发和研究工作,曾在英特尔工作13 年,对 IA-32 架构、操作系统内核、驱动程序,尤其是对软件调试有较深入的研究。著有《软件调试》《格蠹汇编》等畅销、常销技术图书, 格蠹科技(xedge.ai) 创始人,高端调试网站(advdbg.org)创建者。翻译(合译)作品有《二十一世纪机器人》《观止——微软创建NT和未来的夺命狂奔》《数据挖掘原理》《机器学习》《人工智能:复杂问题求解的结构和策略》等。
  • 目录:
    第 一篇 绪论 

     
    第1章 软件调试基础 3 

     
    1.1 简介 3 

     
    1.2 基本特征 5 

     
    1.3 简要历史 8 

     
    1.4 分类 12 

     
    1.5 调试技术概览 15 

     
    1.6 错误与缺欠 19 

     
    1.7 重要性 23 

     
    1.8 本章小结 26 

     
    参考资料 26 

     
    第二篇 CPU及其调试设施 

     
    第 2章 CPU基础 29 

     
    2.1 指令和指令集 29 

     
    2.2 英特尔架构处理器 33 

     
    2.3 CPU的操作模式 42 

     
    2.4 寄存器 44 

     
    2.5 理解保护模式 50 

     
    2.6 段机制 54 

     
    2.7 分页机制 59 

     
    2.8 PC系统概貌 73 

     
    2.9 ARM架构基础 75 

     
    2.10 本章小结 90 

     
    参考资料 90 

     
    第3章 中断和异常 91 

     
    3.1 概念和差异 91 

     
    3.2 异常的分类 93 

     
    3.3 异常例析 95 

     
    3.4 中断/异常的优先级 99 

     
    3.5 中断/异常处理 100 

     
    3.6 ARM架构中的异常机制 110 

     
    3.7 本章小结 112 

     
    参考资料 113 

     
    第4章 断点和单步执行 114 

     
    4.1 软件断点 114 

     
    4.2 硬件断点 123 

     
    4.3 陷阱标志 135 

     
    4.4 实模式调试器例析 140 

     
    4.5 反调试示例 145 

     
    4.6 ARM架构的断点支持 147 

     
    4.7 本章小结 156 

     
    参考资料 157 

     
    第5章 分支记录和性能监视 158 

     
    5.1 分支监视概览 159 

     
    5.2 使用寄存器的分支记录 159 

     
    5.3 使用内存的分支记录 166 

     
    5.4 DS示例:CpuWhere 169 

     
    5.5 性能监视 180 

     
    5.6 实时指令追踪 188 

     
    5.7 ARM架构的性能监视设施 192 

     
    5.8 本章小结 195 

     
    参考资料 195 

     
    第6章 机器检查架构 196 

     
    6.1 奔腾处理器的机器检查机制 196 

     
    6.2 MCA 198 

     
    6.3 编写MCA软件 205 

     
    6.4 本章小结 212 

     
    参考资料 212 

     
    第7章 JTAG调试 213 

     
    7.1 简介 213 

     
    7.2 JTAG原理 215 

     
    7.3 JTAG应用 219 

     
    7.4 IA处理器的JTAG支持 221 

     
    7.5 ARM处理器的JTAG支持 227 

     
    7.6 本章小结 232 

     
    参考资料 233 

     
    第三篇 GPU及其调试设施 

     
    第8章 GPU基础 237 

     
    8.1 GPU简史 237 

     
    8.2 设备身份 243 

     
    8.3 软件接口 244 

     
    8.4 GPU驱动模型 247 

     
    8.5 编程技术 250 

     
    8.6 调试设施 252 

     
    8.7 本章小结 254 

     
    参考资料 255 

     
    第9章 Nvidia GPU及其调试设施 256 

     
    9.1 概要 256 

     
    9.2 微架构 257 

     
    9.3 硬件指令集 268 

     
    9.4 PTX指令集 279 

     
    9.5 CUDA 286 

     
    9.6 异常和陷阱 293 

     
    9.7 系统调用 296 

     
    9.8 断点指令 299 

     
    9.9 Nsight的断点功能 301 

     
    9.10 数据断点 304 

     
    9.11 调试符号 306 

     
    9.12 CUDA GDB 307 

     
    9.13 CUDA调试器API 308 

     
    9.14 本章小结 312 

     
    参考资料 312 

     
    第10章 AMD GPU及其调试设施 314 

     
    10.1 演进简史 314 

     
    10.2 Terascale微架构 315 

     
    10.3 GCN微架构 318 

     
    10.4 GCN指令集 323 

     
    10.5 编程模型 325 

     
    10.6 异常和陷阱 327 

     
    10.7 控制波阵的调试接口 330 

     
    10.8 地址监视 332 

     
    10.9 单步调试支持 333 

     
    10.10 根据调试条件实现分支跳转的指令 335 

     
    10.11 代码断点 335 

     
    10.12 GPU调试模型和开发套件 337 

     
    10.13 ROCm-GDB 340 

     
    10.14 本章小结 341 

     
    参考资料 342 

     
    第11章 英特尔GPU及其调试设施 343 

     
    11.1 演进简史 343 

     
    11.2 GEN微架构 348 

     
    11.3 寄存器接口 354 

     
    11.4 命令流和环形缓冲区 357 

     
    11.5 逻辑环上下文和执行列表 360 

     
    11.6 GuC和通过GuC提交任务 365 

     
    11.7 媒体流水线 368 

     
    11.8 EU指令集 372 

     
    11.9 内存管理 377 

     
    11.10 异常 379 

     
    11.11 断点支持 381 

     
    11.12 单步执行 382 

     
    11.13 GT调试器 382 

     
    11.14 本章小结 386 

     
    参考资料 386 

     
    第12章 Mali GPU及其调试设施 387 

     
    12.1 概况 387 

     
    12.2 Midgard微架构 389 

     
    12.3 Bifrost微架构 393 

     
    12.4 Mali图形调试器 395 

     
    12.5 Gator 396 

     
    12.6 Kbase驱动的调试设施 399 

     
    12.7 其他调试设施 403 

     
    12.8 缺少的调试设施 405 

     
    12.9 本章小结 406 

     
    参考资料 406 

     
    第13章 PowerVR GPU及其调试设施 407 

     
    13.1 概要 407 

     
    13.2 Rogue微架构 410 

     
    13.3 参考指令集 413 

     
    13.4 软件模型和微内核 417 

     
    13.5 断点支持 418 

     
    13.6 离线编译和反汇编 420 

     
    13.7 PVR-GDB 421 

     
    13.8 本章小结 423 

     
    参考资料 423 

     
    第14章 GPU综述 424 

     
    14.1 比较 424 

     
    14.2 主要矛盾 425 

     
    14.3 发展趋势 426 

     
    14.4 其他GPU 427 

     
    14.5 学习资料和工具 430 

     
    14.6 本章小结 432 

     
    参考资料 432 

     
    第四篇 可调试性 

     
    第 15章 可调试性概览 435 

     
    15.1 简介 435 

     
    15.2 观止和未雨绸缪 436 

     
    15.3 基本原则 439 

     
    15.4 不可调试代码 444 

     
    15.5 可调试性例析 446 

     
    15.5.1 健康性检查和BSOD 447 

     
    15.6 与安全、商业秘密和性能的关系 449 

     
    15.7 本章小结 450 

     
    参考资料 451 

     
    第16章 可调试性的实现 452 

     
    16.1 角色和职责 452 

     
    16.2 可调试架构 455 

     
    16.3 通过栈回溯实现可追溯性 459 

     
    16.4 数据的可追溯性 466 

     
    16.5 可观察性的实现 472 

     
    16.5.1 状态查询 472 

     
    16.6 自检和自动报告 480 

     
    16.7 本章小结 482 

     
    参考资料 483
查看详情
相关图书 / 更多
软件调试第2版卷1:硬件基础
软件工程(第7版微课版十三五职业教育国家规划教材)
高树芳 主编
软件调试第2版卷1:硬件基础
软件测试技术任务驱动式教程(第2版)
吴伶琳、王明珠 编
软件调试第2版卷1:硬件基础
软件工程实践教程:基于开源和群智的方法
毛新军;王涛;余跃
软件调试第2版卷1:硬件基础
软件测试
崔义 主编;任淑艳
软件调试第2版卷1:硬件基础
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件调试第2版卷1:硬件基础
软件测试基础教程 软硬件技术 高尚兵,高丽主编 新华正版
高尚兵,高丽主编
软件调试第2版卷1:硬件基础
软件工程--理论与实践
毛新军 董威
软件调试第2版卷1:硬件基础
软件文化基础(第二版)
覃征;党璇;易建山;王国龙;张紫欣;徐树皓;吴浔
软件调试第2版卷1:硬件基础
软件安全
邹德清
软件调试第2版卷1:硬件基础
软件需求工程方法与实践
金芝、刘璘、陈小红、李童
软件调试第2版卷1:硬件基础
软件工程原理与实践 沈备军 万成城 陈昊鹏 陈雨亭
沈备军 万成城 陈昊鹏 陈雨亭
软件调试第2版卷1:硬件基础
软件化雷达模型重构与数据流仿真技术
王磊
您可能感兴趣 / 更多
软件调试第2版卷1:硬件基础
软件调试第2版卷2Windows平台调试上、下册
张银奎 著
软件调试第2版卷1:硬件基础
21世纪机器人
张银奎 译
软件调试第2版卷1:硬件基础
格蠹汇编:软件调试案例集锦
张银奎 著
软件调试第2版卷1:硬件基础
软件调试:Software Debugging
张银奎 著