《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
CX5477AUTOCAD2009电气设计110例附光盘 本书特色 《AutoCAD 2009电气设计110例》特点:专业实用职场红宝书超长时间视频讲解双栏排版...
《Canon EOS 6D数码单反相机完全剖析手册》内容简介:本书是一本关于CanonEOS6D数码单反相机的实用性使用手册,并对相应功能设置与
MichioKakus"PhysicsoftheFuture:TheInventionsthatwillTransformourLives"isahypothe...
Despitethehugenumberofmobiledevicesandappsinusetoday,yourbusinessstillneedsawebs...
本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被
《人口浪潮》内容简介:现代世界所经历的最深远变革是人口结构的变迁。以1800年为起点,全球人口经历过两次重大转型。第一次是人口
豆瓣阅读小雅奖获奖作品豆瓣阅读ZUI热时尚专栏关于时尚穿搭,看这一本就够了曾经的文学译者,现在的专业服装设计师——于晓丹老师
《影响数学世界的猜想与问题·从开普勒到阿诺德:三体问题的历史》共分五编:第一编为古典理论卷,第二编为重刚体绕不动点运动问题
《中国:将对世界做出更大贡献》内容简介:“一带一路”倡议是21世纪的中国向世界发出的时代倡议,正在也必将给广大发展中国家,乃
《软件开发的201个原则》内容简介:本书汇总了软件工程原则。这些原则是关于软件工程的基本原理、规则或假设,不管所选的技术、工具
《机遇就在你身边》内容简介:谁都渴望成功,但成功的前提之一是要有机遇,更多的人一生都是在被动地等待机遇,只能听天由命。而那
《木心上海往事》内容简介:木心之所以是木心,离不开上海。木心一生中有两大主要时期,一是上海时期,木心从故乡乌镇走出,来到上
《宋代家礼》内容简介:《宋代家礼》一书将宋代家礼作为一种集体写作规范的历史场景来观察,探讨了这一时期书写者在家礼文本中的自
东京字体指导俱乐部(TokyoTDC)最佳字体设计揭晓,本书收录了本次大奖所有奖项的作品。东京字体设计俱乐部成立于1987年,在今年
《中国木帆船》内容简介:在本书中,何国卫教授将几十年来研究中国古船史的思考与心得进行了系统地整理与总结,是国内首次专门就中
《基于Android Studio的案例教程(第2版)》内容简介:本书主要介绍如何利用Android Studio、Eclipse等工具开发Android项目。...
InCyberneticRevolutionaries,EdenMedinatellsthehistoryoftwointersectingutopianvis...
《哈农钢琴练指法(重点提示版)》内容简介:《哈农钢琴练指法(重点提示版)》已成为钢琴学习者必不可少的练习,这种练习将伴随他
iOS开发如日中天,iOS6又为我们带来了大量的高级特性,从事移动开发的你,还等什么?本书急开发者之所急,揭秘了多数开发类图书未
对政治经济学领域的很多学者而言,资本的核心是一种社会关系,即劳工和资本之间形成的阶级关系在重建全球市场体系的变化大潮之中