《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
《20世纪的中国乡村》内容简介:本书从四个部分,系统呈现20世纪中国乡村社会发展状况。第一部分,探讨中国近代社会史研究的历程、
WilliamStallings为读者提供了一本关千密码编码学与网络安全的最优秀书籍。更新的第四版反映了该领域的最新发展趋势与进展,详尽
MATLAB数值计算-(2013修订版.中译本) 本书特色 本书《matlab数值计算(2013修订版)》经matlab、数值分析和科学计算之父clevemol...
《中国文化之根:先秦七子对中国文化的奠基》内容简介:受独特文化土壤的影响,中国文化有着鲜明的特殊性。先秦诸子就是在这片土壤
《零基础学PHP》主要内容:PHP是一种运行于服务器端并完全跨平台的嵌入式脚本编程语言,是目前开发各类Web应用的主流语言之一。P
《如何打造活力组织》内容简介:活力组织是指能够超越经济周期和组织兴衰规律的约束,通过建立共同的发展价值观,建立系统的活力运
《经济法基础》内容简介:本书旨在帮助广大读者进行2015年会计专业技术资格考试的复习备考,其主要功能在于帮助读者准确把握考试重
ParadigmsofAIProgrammingisthefirsttexttoteachadvancedCommonLisptechniquesintheco...
《Photoshop电商设计与装修从新手到高手》内容简介:本书是一本系统讲解Photoshop电商设计与装修的教程。主要讲述了Photoshop电商设
StanleyLippman职业是提供关于C++和面向对象的训练、咨询、设计和指导。他在成为一名独立咨询顾问之前,曾经是迪士尼动画公司的首
OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代
◆迄今为止最好的互联网思维专著◆作者是国内最早、最深入研究互联网思维的专业人士!◆本书历时三年,条分缕析,深入浅出,字字
《我的大学》内容简介:《童年》《在人间》《我的大学》是高尔基的自传体长篇小说三部曲,以其童年、少年和青年为素材,描写了俄国
《帝国首辅:张居正》内容简介:23岁初入官场,张居正是一个刚正不阿的理想主义者,却在亲历腥风血雨的内阁斗争后,痛悟了什么是政
本书是理论计算机科学方面的优秀教材,主要介绍形式语言、自动机、可计算性和相关内容。本书特别注意定义、定理的准确性和严格性
《微视,这么玩才赚钱!》内容简介:这是一本介绍个人如何利用微视创业(赚钱)、企业如何通过微视迅速提升经营业绩(赚更多钱)的
本书作为一本专门针对网页美工的书籍,在阐述网页设计理念的基础上,以生动的实例引导读者深入地掌握网页的美工技术,使读者在短
《美学的散步》内容简介:本书为“中小学生阅读指导目录”丛书中的一种,按“美学的散步”“文艺的美学”“人生的美学”分三辑收入
《全国会计从业资格考试标准化教材(大纲解析版):财经法规与会计职业道德》内容简介:全国会计从业资格考试标准化教材(大纲解析
地理信息系统数据库-第二版 本书特色 《地理信息系统数据库(第2版)》详细论述了地理信息系统数据库的基本理论、技术方法、实践应用、*新理论与发展趋势。内容全面、...