《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
《蟋蟀歌手读《诗经》》内容简介:这一年的暑假,丫丫和表姐乐琦、小姨、姨夫来到美丽的乡下,居住在妈妈小时候住过的房子里。美丽
深入浅出MFC是一本介绍MFC(MicrosoftFoundationClasses)程式设计技术的书籍。对於Windows应用软体的开发感到兴趣,并欲使用Vi...
Mac OS X Leopard Edition(影印版) 本书特色 为什么开创Missing Manual系列当知识富有吸引力、条理清楚并有趣味时,人们的学习...
《简笔画5000例,一本就够(男生卷)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总能释放你
《C#从入门到精通(第4版)》内容简介:《软件开发视频大讲堂:C#从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、
《战略产业选择与投资研究:基于产业链的视角》内容简介:战略产业是一个国家或地区为实现产业结构优化升级所选定的对其他产业具有
国内首部复杂网络专著【图书目录】第1章引论1.1引言1.2复杂网络研究简史1.3基本概念1.4本书内容简介参考文献第2章网络拓扑基
《HikariCP数据库连接池实战》内容简介:这是一本从设计思想、功能使用、原理实现、工程实践、技术扩展5个维度全面讲解数据库连接池
服装CAD 本书特色 《服装CAD(附光盘)》由董伟英主编,本教材有以下特点:1.教材内容的设置新颖、实用、符合现代教学思想突出以应用为核心,紧密联系企业生产实...
Object-orientedprogrammingisthecurrentcure-all—althoughithasbeenaroundformuchmor...
程序语言的奥妙:算法解读-形形色色的科学-第2弹-四色全彩 本书特色 手机、电视、数码相机、游戏机……这些产品都离不开21世纪飞速发展的计算机技术。另外,自动检...
Thisbrain-friendlyguideteachesyoueverythingfromJavaScriptlanguagefundamentalstoa...
《美国大学室内装饰设计教程》引导你进入一个精彩的室内设计世界。现在的室内装饰行业正日益繁荣,并不断地发展变化,《美国大学
《去湿地观鸟》内容简介:米娅非常开心地去湿地秋游,她看到了各种不同的鸟类,还意外发现了被捕鸟网困住的震旦鸦雀。她将可怜的震
《法治建设新天地》内容简介:本书从改革开放40年党和国家发展大局的总体高度出发,对改革开放40年中国法治建设的理论与实践做了系
《苏东坡新传》内容简介:苏东坡,天赋异禀的大文豪,无可救药的乐天派…… 他的标签很多,却难以被标签定义。居高处为翰林学士,落
《GPU精粹:实时图形编程的技术技巧和技艺》汇集了当今国际上前沿开发者们经多年研究和实践得出的实用的实时图形技术成果。《GPU精
作者介绍:ChasEmerick是软件公司Snowtideinformatics的创始人。自2008年以来,致力于Clojure语言本身以及一些开源项目的开发;...
《TensorFlow神经网络编程》内容简介:本书首先简要介绍流行的TensorFlow库,并讲解如何用它训练不同的神经网络。你将深入了解神经
从新手到高手Photoshop手绘从新手到高手 本书特色 零基础Photoshop手绘实战类图书。Photoshop手绘初学者从入门到精通s选。涵盖Photos...