《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
LINGO 软件及应用 本书特色 本书在深入浅出地介绍LINGO基本用法和LINGO与各种文件和数据库之间的数据传递和处理方法的基础上,分两个层次介绍了LING...
Cisco IP 电话疑难解析 内容简介 本书指导读者学习怎样分析和纠正IP电话网络中的问题。全书共分18章,分别介绍了疑难解析方法学、IP电话体系结构、疑难解...
《周恩来与人民代表大会制度》内容简介:本书是淮安市人民代表大会常务委员会办公室组织编写的党建历史类著作,从史实考证的角度,
samuelp.harbisoniii于卡内基—梅隆大学获得计算机科学博士学位,现任carlow学院的计算机科学系副教授。他曾就职于德州仪器和ta
《和风漫步》内容简介:本书是一本淡彩街景的绘画教程。淡彩是集柔美与硬朗为一体的绘画艺术,它既具有水彩的诗意,又具有钢笔的行
YoramOrzach毕业于色列技术学院(IsraelInstituteofTechnology),持有该校科学学士学位。1991-1995年,以系统工程师的身...
《敏捷软件开发:用户故事实战》内容简介:本书不负众望,为软件行业提供了一种高效的需求过程,通过用户故事来节省时间、消除重复
《软件安全开发指南》内容简介:本书系统性地介绍了OWASP安全组织研究总结的应用安全验证标准,为软件开发过程中的安全控制措施开发
《江山如画:中国古代山水志》内容简介:当我们经常顺口诵读《滕王阁序》《岳阳楼记》《前赤壁赋》等名篇的时候,你可曾想过彼时彼
RichardA.ClarkewarnedAmericaoncebeforeaboutthehavocterrorismwouldwreakonournatio...
《无线数据通信技术揭密》介绍了高速无线数据网络和移动因特网技术。重点是指导有经验的移动因特网专业技术人员快速安装无线数据
Internationalinterestinthesophisticatedandaestheticvisualizationofcomplexinforma...
《移动App测试的22条军规》内容简介:本书全面讲解了移动App测试的技术、技巧、工具、案例和测试用例,全书共分23章,主要内容为:
《工业4.0落地之道》内容简介:本书作者基于其青岛中德生态园建设咨询专家团成员的身份与经验,对工业4.0的来龙去脉、工业4.0的具体
这是一本讲解如何使用Struts框架开发JavaWeb应用程序的实用性图书,书中在具体讲解Struts开发技术的同时,结合MVC模式与MyEclips
本书深入剖析Photoshop创作技巧与理念的同时,从作品需求的角度出发解读Photoshop影像处理功能及其应用。目录 O热爱图像的石头何
《对比Excel,轻松学习SQL数据分析》内容简介:本书是《对比Excel,轻松学习Python数据分析》的姊妹篇,同样采用对比的方法,降低学
《劳动价值新论:理论和数理的研究》内容简介:本书是国内学者近年来研究劳动价值论问题的力作。劳动价值论是马克思主义经济学的核
《医学专业课程思政优秀案例集(基础医学分册)》内容简介:本书精选了上海交通大学医学院众位教师近三年课程思政成果,在基础医学
《工业大数据分析算法实战》内容简介:《工业大数据分析算法实践》以工业大数据的特点和需求为牵引,阐述了工业大数据分析的算法与