《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
《区域(2016年第2辑/总第6辑)》内容简介:本辑内容涉及:在广阔的世界关系中阐释中国“史”的传统及其意义;讨论欧洲民族国家兴起
《时间猎人》内容简介:《少年原野科幻探险》系列是国内具有悬疑、科幻、探险的综合风格的少儿科幻小说,由作者历时3年打造而成。目
宽带综合业务数字网是目前国际、国内通信和信息领域的热门话题,是建立信息高速公路的基础。现在的综合业务数字网(ISDN,仅为64
Ajax,orAsynchronousJavaScriptandXML,explodedontothesceneinthespringof2005andrema...
Theseproceedingswillbeofinteresttoscientistsandresearchersdealingwithlaserapplic...
《日本字体与平面设计大奖年鉴2004》内容包括:评委会主席致辞;大奖获得者获奖感言;大奖;特别奖;最佳作品;获奖作品;视觉识
“不作恶”的Google何以身陷“三重门”?聪明的Google为何在中国变得不够聪明?强大的Google在与百度的交锋中为何会完败?作者简
《金融计算与建模:理论、算法与SAS程序》全书分为4大模块:1-9章为金融学基础指标计算模块;10-12章为股票定价模块;13-18章为风
《史官主书与秦书八体》内容简介:“主书”是史官的基本职能,而“秦书八体”则是指通行于秦代的八种书体。本书由“史官主书研究”
中文版Photoshop CC标准教程(视频教学版)(附光盘) 本书特色 本书以实用、够用为原则,按照平面设计工作的实际需求组织内容。全书共17章,其中第1~1...
LabVLEW8.2基础教程 内容简介 本书介绍虚拟仪器的基本概念和在labview 8.2中文版环境中进行虚拟仪器开发的方法。全书共分10章,包括虚拟仪器与l...
Thisbookpresentsanintegratedcollectionofrepresentativeapproachesforscalingupmach...
罗振宇、丹尼尔•平克、赛斯•高汀、丹•艾瑞里、谢家华、阿里安娜•赫芬顿强烈推荐!美国亚马逊2013年年度商业&投资类图书榜前20名!
《林家铺子:茅盾精读》内容简介:本书是茅盾中短篇小说及散文代表作的精选集。茅盾继承了“五四”时期文学研究会“人生派”的现实
"DreamweaverCS4DigitalClassroom"islikehavingapersonalinstructorguidingreadersthr...
《中国水文化遗产考略》内容简介:本书是作者多年从事水文化遗产宣传教育研究的成果总结,全书分“水文化文物鉴赏”和“水文化文物
HTML是网页制作的基础语言,是每个网页制作者必须掌握的内容。XHTML1.0是一种在HTML4.0基础上优化和改进的新语言,是基于XML的应
《集团公司管理(第二版)》内容简介:本书构建了集团公司管理的架构体系,包括集团公司战略与功能定位、管理模式选择、组织结构确
本书不仅帮助读者迅速掌握JavaScript基础知识和核心技术,而且通过实例讲解如何将这些知识和技术理解应用到实际工作中,提升编程
乍一看这本书的名字,ExpertoneononeJ2EEdevelopmentwithoutEJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而witho...