《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
《JSP+DreamweaverCS4+CSS+Ajax动态网站开发典型案例》介绍了综合应用DreamweaverCS4、JSP以及Ajax技术进行动态网页设计...
《Head First Kotlin程序设计》内容简介:本书介绍了Kotlin的基本语法、常用类型、面向对象编程以及一些高阶的知识。在所有的章节中
《游学集录》内容简介:本书为2004年版《游学集录》的修订本,收为“孙昌武文集”的一种。书中所收录的36篇文章,除含孙昌武于20世
《GoogleApps应用完全指南》介绍如何应用GoogleApps这套“云计算”的应用方案,来完成企业、学校或团体的通信和协作。全书共分为
《服从力》内容简介:服从力这本书,周平老师和多位作者已构思多年。看到非常多的人,因为服从力不够而在岗位中处处受挫;看到非常
Photoshop平面设计基础 本书特色 《Photoshop平面设计基础》由王艳娟主编,本书作者根据多年的教学经验并结合学生的特点和需求,编写这本教材。本教材...
《灵魂应是可以随时飞起的鸟》内容简介:一切的驱动力,其实都是来自他那颗拳头大小的心——它微不足道,但是足够炽热,跳动有力,
《我望着你来(经典悦读)》内容简介:本诗集选编了诗人一生的诗歌创作中具有代表性的作品。这些诗描写了初恋时的情感,对人生和现
《智能机器人养成记》内容简介:本书中,作者先描述了人工智能的缺陷(一个关键的缺点是:它没有具象化),然后提出了一种制造类人机
繁琐的CSS规则和各浏览器支持度的不统一素来都为网页设计师所诟病。通过多年潜心研究与深入测试,作者归纳组合出了多达350条的设
MATLAB面向对象编程 本书特色 本书分为三部分。**部分介绍matlab面向对象编程基础知识,包括什么是类,类之间的基本关系,以及matlab提供的面向对象...
《中东非阿拉伯国家智库研究》内容简介:本书对中东地区的三个非阿拉伯国家以色列、土耳其和伊朗的智库发展及对各国对外政策和中东
為什麼愈簡單的設計反而顯得愈奢侈?大量生產的蘋果電腦,為什麼像是為個人量身訂做的?史塔克最精采的設計作品不是外星人榨汁機
"数十亿人身在其中、数十万亿美元的新生意,你我此生最大的科技革命,这次转型将如何改变我们的生活?又如何使我们做生意的方式起
《温故(二十)》内容简介:《温故》是一种陆续出版的历史文化读物。以今天的视角来追怀与审视过去,并为当下的生存与未来的发展提
PacoHope,是Cigital公司的一名技术经理,《MasteringFreeBsDand0penBsDsecurity》(由O’Reilly出版)的合著者...
在线阅读本书《CrossingtheChasm:MarketingandSellingDisrupti》:Mooreprovidesaninvaluablese...
本书是一本注重实践的教程,作者为我们揭示了47个鲜为人知的CSS技巧,主要内容包括背景与边框、形状、视觉效果、字体排印、用户体
《思维导图:古诗词满分学习法》内容简介:背诵古诗词是中学生的一大难题,很多学生都是背了忘,忘了又背,鉴于此作者想到了让古诗
bash是自由软件基金会发布的“BourneAgainShell”的缩写。它是流行的UNIXBourneshell的免费可用替代产品,供全球Linux用户选用。