《Debug Hacks中文版—深入调试的技术和工具》是Miracle Linux的创始人吉冈弘隆和几位工程师们多年从事内核开发的经验积累。从调试器的基本使用方法、汇编的基础知识开始,到内核错误信息捕捉、应用程序调试、内核调试,本书深入浅出地讲解了Linux下应用程序和内核的调试技巧。
虽然本书的出发点是Linux内核调试,但书中的绝大部分知识在许多领域都能派上用场。如Linux应用程序开发,嵌入式Linux开发,甚至时下流行的ios应用程序开发,只要从事应用程序开发的工作,就会涉及调试,那么读一读本书也不无裨益。
第1章 热身准备 1
1.调试是什么 1
2.debug hacks的地图 4
3.调试的心得 6
第2章 调试前的必知必会 13
4.获取进程的内核转储 13
5.调试器(gdb)的基本使用方法(之一) 18
6.调试器(gdb)的基本使用方法(之二) 32
7.调试器(gdb)的基本使用方法(之三) 39
8.intel架构的基本知识 45
9.调试时必需的栈知识 52
10.函数调用时的参数传递方法(x86_64篇) 61
11.函数调用时的参数传递方法(i386篇) 66
12.函数调用时的参数传递方法(c++篇) 69
13.怎样学习汇编语言 72
14.从汇编代码查找相应的源代码 77
第3章 内核调试的准备 87
15.oops信息的解读方法 87
16.使用minicom进行串口连接 90
.17.通过网络获取内核消息 94
18.使用sysrq键调试 98
19.使用diskdump获取内核崩溃转储 104
20.使用kdump获取内核崩溃转储 110
21.crash命令的使用方法 113
22.死机时利用ipmi watchdog timer获取崩溃转储 126
23.用nmi watchdog在死机时获取崩溃转储 131
24.内核独有的汇编指令(之一) 132
25.内核独有的汇编指令(之二) 136
第4章 应用程序调试实践 139
26.发生sigsegv,应用程序异常停止 139
27.backtrace无法正确显示 147
28.数组非法访问导致内存破坏 151
29.利用监视点检测非法内存访问 157
30.malloc()和free()发生故障 160
31.应用程序停止响应(死锁篇) 163
32.应用程序停止响应(死循环篇) 168
第5章 实践内核调试 177
33.kernel panic(空指针引用篇) 177
34.kernel panic(链表破坏篇) 184
35.kernel panic 192
36.内核停止响应(死循环篇) 205
37.内核停止响应(自旋锁篇之一) 212
38.内核停止响应(自旋锁篇之二) 215
39.内核停止响应(信号量篇) 221
40.实时进程停止响应 232
41.运行缓慢的故障 240
42.cpu负载过高的故障 245
第6章 高手们的调试技术 259
43.使用strace寻找故障原因的线索 259
44.objdump的方便选项 264
45.valgrind的使用方法(基本篇) 267
46.valgrind的使用方法(实践篇) 272
47.利用kprobes获取内核内部信息 275
48.使用jprobes查看内核内部的信息 280
49.使用kprobes获取内核内部任意位置的信息 282
50.使用kprobes在内核内部任意位置通过变量名获取信息 287
51.使用kaho获取被编译器优化掉的变量的值 291
52.使用systemtap调试运行中的内核(之一) 297
53.使用systemtap调试运行中的内核(之二) 303
54./proc/meminfo中的宝藏 307
55.用/proc/[pid]/mem快速读取进程的内存内容 311
56.oom killer的行为和原理 315
57.错误注入 323
58.利用错误注入发现linux内核的潜在bug 328
59.linux内核的init节 334
60.解决性能问题 337
61.利用vmware vprobe获取信息 346
62.用xen获取内存转储 350
63.理解用got/plt调用函数的原理 352
64.调试initramfs镜像 357
65.使用rt watchdog检测失去响应的实时进程 362
66.查看手头的x86机器是否支持64位模式 366
附录 debug hacks术语的基础知识 369
索引 379
本书涉及了移动开发中的25个经典问题,并分别给出Android、iOS、WindowsPhone三大平台各自的解决方案,基本涵盖了手机开发人员普
《中国大运河百问》内容简介:姜师立著的本书是大运河申遗成功后首部全面系统介绍以大运河为核心的历史文化资源的书籍,对运河沿线
《闲言碎语》内容简介:本书是知名设计师历经7年沉淀的设计思路与方法论集合,其中既保留了个人的情绪与判断,也时常回想笔者多年来
秋叶OFFICE WORD EXCEL PPT办公应用从新手到高手 本书特色 零基础无忧:一看就懂,一学就会,马上就能用,短时间完成从Office小白到高手的突...
《媒商十堂课》内容简介:世界上只有2%的人意识到,他们的一言一行,一颦一笑,都在作为重要的信息构建着独一无二的“个人”品牌。
《知识图谱与认知智能:基本原理、关键技术、应用场景与解决方案》内容简介:读者通过本书可以了解企业认知智能的原理、应用方法、
《为书作嫁》内容简介:本书是“日知文丛”之一。是南京大学古典文献研究所所长程章灿教授历年所写的50篇书评、序跋、随笔集。全书
本书详细介绍了利用PHP+MySQL开发常见类型Web应用程序的完整设计和编码技术,并对整体设计与关键代码给予了细致、深入的剖析。其
《阿里铁军销售法》内容简介:如何用一个小动作引发客户兴趣? 客户不愿意签,怎么让他回心转意? 如何抓住最佳成交时机? 优质客户
你知道如何通过量化网站的各类数据来制定相应的营销方案吗?你知道有些看似不可以量化的网站信息也是可以量化的吗?哪种市场营销
《官绅的荷包》内容简介:人类的财富载体经历了漫长的演变,从原始社会几乎没有载体,到后来发展出房屋、土地、农具、牲畜、衣物、
《炉边诗话》内容简介:本作品是作者写于上世纪80年代的一部解读古诗的集子,写在冬天,室内有一只取暖的炉子,故为此名。颇有于炉
多媒体技术及应用(第2版) 本书特色 执考用书,14年经验指导,全面覆盖大纲,补充超纲考点。多媒体技术及应用(第2版) 内容简介 本书根据教育部高等学校文科计算...
WhilethereareseveralbooksonprogrammingforMacOSX,AdvancedMacOSXProgramming:TheBig...
GerdGigerenzersinfluentialworkexaminestherationalityofindividualsnotfromthepersp...
因特网奥秘:第6版 本书特色 本书以插图引人入胜,语言准确达意地揭示了因特网——这一改变了整个世界的神奇技术背后隐藏的奥秘。作者是Preston Gralla美...
《风景园林设计要素》一书用通俗易懂的语言和简练、明确的图面,全面、系统地阐述了园林规划设计的要理。译者忠于原著的构思和论
《Three.js开发指南(原书第3版)》内容简介:本书将介绍如何直接在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览
《历史的面孔》内容简介:中国近代历史是一段苦难史,也是一段中国人民不断探索的历史。“求新求变”贯穿着整个时空,这里面涌现了
《GOOGLEHACKS探索和利用全球信息资源的技巧和工具》(第3版)使用Google意味着你需要不断地拓展令人震惊的新技术。在Google地图刚