Debug Hacks 中文版 深入调试的技术和工具

发布于 2021-11-10 12:55:06 字数 2351 浏览 1710 评论 0

Miracle Linux株式会社的精锐工程师们在长年的Linux内核开发中积累了经验,精心打造了这本详细介绍调试技巧的书。《Debug Hacks中文版:深入调试的技术和工具》从热身开始,讲述准备工作、必要的知识,以及各种方便的技巧和工具,以便迅速找到bug原因并修改,毫无吝啬地介绍了许多高级调试技巧。《Debug Hacks中文版:深入调试的技术和工具》汇集了大量从实践中来的实用技巧,是高效率、高质量开发的必备读物之一。

内容简介

《Debug Hacks中文版:深入调试的技术和工具》是Miracle Linux 的创始人吉冈弘隆和几位工程师们多年从事内核开发的经验积累。从调试器的基本使用方法、汇编的基础知识开始,到内核错误信息捕捉、应用程序调试、内核调试,《Debug Hacks中文版:深入调试的技术和工具》深入浅出地讲解了Linux 下应用程序和内核的调试技巧。

虽然《Debug Hacks中文版:深入调试的技术和工具》的出发点是Linux 内核调试,但书中的绝大部分知识在许多领域都能派上用场。如Linux 应用程序开发,嵌入式Linux 开发,甚至时下流行的iOS 应用程序开发,只要从事应用程序开发的工作,就会涉及调试,那么读一读《Debug Hacks中文版:深入调试的技术和工具》也不无裨益。

目录

第1章 热身准备
1.调试是什么
2.Debug hacks的地图
3.调试的心得

第2章 调试前的必知必会
4.获取进程的内核转储
5.调试器(GDB)的基本用法(之一)
6.调试器(GDB)的基本使用方法(之二)
7.调试器(GDB)的基本使用方法(之三)
8.Intel架构的基本知识
9.调试时必需的栈知识
10.函数调用时的参数传递方法(x86_64篇)
11.函数调用时的参数传递方法(i386篇)
12.函数调用时的参数传递方法(C++篇)
13.怎样学习汇编语言
14.从汇编语言查找相应的源代码

第3章 内核调试的准备
15.Oops信息的解读方法
16.使用minicom进行串口连接
17.通过网络获取内核消息
18.使用SysRq键调试
19.使用diskdump获取内核崩溃转储
20.使用kdump获取内核崩溃转储
21.crash命令的使用方法
22.死机时利用IPMI watchdog timer获取崩溃转储
23.用NMI watchdog在死机时获取崩溃转储
24.内核独有的汇编指令(之一)
25.内核独有的汇编指令(之二)

第4章 应用程序调试实践
26.发生SIGSEGV,应用程序异常停止
27.backtrace无法正确显示
28.数组非法访问导致内存破坏
29.利用监视点检测非法内存访问
30.malloc()和free()发生故障
31.应用程序停止响应(死锁篇)
32.应用程序停止响应(死循环篇)

第5章 实践内核调试
33.kernel panic(空指针引用篇)
34.kernel panic(链表破坏篇)
35.kernel panic
36.内核停止响应(死循环篇)
37.内核停止响应(自旋锁篇之一)
38.内核停止响应(自旋锁篇之二)
39.内核停止响应(信号量篇)
40.实时进程停止响应
41.运行缓慢的故障
42.CPU负载过高的故障

第6章 高手们的调试技术
43.使用strace寻找故障原因的线索
44.objdump的方便选项
45.Valgrind的使用方法(基本篇)
46.Valgrind的使用方法(实践篇)
47.利用kprobes获取内核内部信息
48.使用jprobes查看内核内部的信息
49.使用kprobes获取内核内部任意位置的信息
50.使用kprobes在内核内部任意位置通过变量名获取信息
51.使用KAHO获取被编译器优化掉的变量的值
52.使用systemtap调试运行中的内核(之一)
53.使用systemtap调试运行中的内核(之二)
54./proc/meminfo中的宝藏
55.用/proc/<PID>/mem快速读取进程的内存内容
56.OOM Killer的行为和原理
57.错误注入
58.利用错误注入发现Linux内核的潜在bug
59.Linux内核的init节
60.解决性能问题
61.利用VMware Vprobe获取信息
62.用Xen获取内存转储
63.理解用GOT/PLT调用函数的原理
64.调试initramfs镜像
65.使用RT Watchdog检测实时进程失去响应
66.调查手头的x86机器是否支持64位模式
附录 Debug hacks术语的基础知识
索引

下载地址:https://www.wenjiangs.com/wp-content/uploads/2021/11/debug-hacks.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文