C/C++代码调试的艺术(第2版)

C/C++代码调试的艺术(第2版)

新升级,融入作者10多年的开发经验,细致剖析Windows和Linux平台下调试C/C++代码的技巧与方法

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。

作品简介

本书围绕C/C++程序调试这一主题,系统深入地介绍了在Windows和Linux操作系统上如何高效地调试C/C++程序。

本书分为11章,内容涵盖了程序调试的基本知识、Visual C++调试的基本功能与技巧、Linux系统中gdb工具的使用、死锁调试、动态库调试、内存检查、远程调试、转储文件调试分析、发行版调试,以及调试的高级话题和调试方面的扩展知识。

本书作为学习C/C++调试技术的重要资料,讲解通俗易懂,选取的示例注重理论与实际的联系。无论是C/C++的初学者,还是经验丰富的开发人员,都会从中受益。

张海洋,云坞科技联合创始人,清华大学计算机专业毕业,从事软件开发近20年,曾在外企工作10余年,长期工作在开发第一线,已经申请软件发明专利10余项。精通C/C++、Python等编程语言,在Windows驱动、Linux驱动、Windows/Linux系统开发和调试方面具有丰富的经验。

作品目录

  1. 内容提要
  2. 作者简介
  3. 前  言
  4. 资源与支持
  5. 第1章 C/C++调试基本知识
  6. 1.1 BUG与Debug
  7. 1.2 为什么选择C/C++
  8. 1.3 什么是调试器
  9. 第2章 Visual C++调试基本功能
  10. 2.1 Visual C++简介
  11. 2.2 断点管理
  12. 2.3 调试执行
  13. 2.4 监视/快速监视
  14. 2.5 内存查看
  15. 2.6 通过“局部变量”窗口和“自动”窗口查看变量
  16. 2.7 即时窗口
  17. 2.8 调用堆栈
  18. 2.9 多线程管理
  19. 2.10 查看错误码
  20. 2.11 调试宏assert使用
  21. 2.12 其他
  22. 第3章 Linux系统下gdb调试基本功能
  23. 3.1 Linux系统下C/C++编程的基本知识
  24. 3.2 gdb简介
  25. 3.3 调试执行
  26. 3.4 断点管理
  27. 3.5 程序执行
  28. 3.6 查看当前函数参数
  29. 3.7 查看/修改变量的值
  30. 3.8 自动显示变量的值
  31. 3.9 查看源代码
  32. 3.10 查看内存
  33. 3.11 查看寄存器
  34. 3.12 查看调用栈
  35. 3.13 线程管理
  36. 3.14 其他
  37. 第4章 多线程死锁调试
  38. 4.1 创建多线程
  39. 4.2 多线程的同步
  40. 4.3 C++标准库中的锁
  41. 4.4 死锁调试
  42. 第5章 调试动态库
  43. 5.1 Windows系统动态库开发与调试
  44. 5.2 Linux系统动态库开发与调试
  45. 第6章 内存检查
  46. 6.1 VC调试器和C/C++内存检查机制
  47. 6.2 Linux系统内存检查
  48. 第7章 远程调试
  49. 7.1 远程调试简介
  50. 7.2 Visual C++远程调试
  51. 7.3 Linux系统gdb远程调试
  52. 7.4 使用VC远程调试Linux程序
  53. 7.5 使用VC创建Linux程序并调试
  54. 第8章 转储文件调试分析
  55. 8.1 Windows系统中的转储文件分析
  56. 8.2 Linux系统中的转储文件分析
  57. 第9章 发行(Release)版调试
  58. 9.1 在VC中调试发行版
  59. 9.2 在gdb中调试发行版
  60. 第10章 调试高级话题
  61. 10.1 断点的秘密
  62. 10.2 你好,烫
  63. 10.3 与Windows调试相关的API
  64. 10.4 与Linux调试相关的系统调用
  65. 10.5 使用gdb为软件制作补丁
  66. 10.6 使用gdb“破解”软件密码
  67. 第11章 调试扩展知识
  68. 11.1 Windows驱动开发调试入门
  69. 11.2 WinDbg简介
  70. 11.3 Linux内核驱动开发简介
  71. 11.4 Linux内核转储文件调试分析
  72. 11.5 Visual Studio 2022调试新特性介绍