《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
《先秦学术概论》内容简介:本书纵论先秦学术,首先鸟瞰先秦各学派的源流和相互关系,其次对道、儒、法、名、墨、阴阳、纵横、兵、
精嵌入式Linux编程 本书特色 《精通嵌入式Linux编程:构建自己的GUI环境》是由北京航空航天大学出版社出版的。精嵌入式Linux编程 内容简介 本书针对...
本书论述了信息检索的有关概念与基本知识,以及Internt重要的中外文搜索引擎与检索技巧,介绍了网上各类型电子信息和重要专题信息
《刘晓蕾《红楼梦》十二讲》内容简介:读过和没有读过《红楼梦》,生命中有些东西是不一样的。《红楼梦》无疑是阻隔在读者面前的一
《选股其实很简单》内容简介:本书从当今A股市场的性质和影响因素入手,构建了一套无关熊牛的动态选股策略——主体思维选股法。该方
Thisbookprovidesandin-depthexaminationofthecoreconceptsandgeneralprinciplesofweb...
本书从软件开发者角度出发,详细介绍了现代计算机体系结构,重点讲解如何处理存储器问题以及如何写出能直接与底层硬件交互并充分
《网民的狂欢:关于互联网弊端的反思》内容简介:在Web2.0的世界中,我们的世界观、我们的文化正在遭遇大批“业余者”的攻击。网络
《深度学习在动态媒体中的应用与实践》内容简介:本书是一本深度学习的基础入门读物,对深度学习的基本理论进行了介绍,主要以Ubun
《淘宝与微店 :开店·运营·推广一册通》内容简介:超级畅销书《淘宝网开店、装修、管理、推广一册通》作者聚焦电商创业领域的又一
物流仓储配送系统设计技巧450问 本书特色 本书通过大量的公式、图形、表格、实例,系统地介绍了物流配送中心、自动化仓库、堆垛机、输送机、储存机械、高密度储存、a...
《这才是我想要的语文书:诗歌分册》内容简介:本分册分为时间与季节、风景与景色、亲爱的动物们、花树与果实、火车与旅行、梦想与
作者简介:TrevorvanGorp作为加拿大首屈一指的用户体验公司nForm的创始人和董事长,Trevor是一位值得信任的情感设计用户体验顾问
《新能源系统储能原理与技术》内容简介:随着可再生能源的不断发展,催生了对于储能设备的需求,新一代储能电池、超级电容器等储能
《Android编程权威指南》内容简介:Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书主要以训练营的5天教学课程为基础,
关东升智捷课堂创始人,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、A
《房地产经纪操作实务》内容简介:刘志东主编的《房地产经纪操作实务》一书是根据中华人民共和国住房和城乡建设。部委托中国房地产
JabberisasetofprotocolsexpressedinXML,andanextensibleframeworkthatallowspeoplean...
本书是一本西方国家图案图集。书中集结了当代最有天赋的50为设计师的手绘图案设计作品,并且展示了他们如何将这些手绘图案创新性
本书是日本东京吉祥寺人气生活杂货店老板,从他生活中实际使用的物品,严选170件既实用又具美感的经典好设计而集结而成。里头有的