《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
机器人控制系统的设计与MATLAB仿真 本书特色 《机器人控制系统的设计与MATLAB仿真》各部分内容既相互联系又各自独立,读者可根据需要选择学习。《机器人控制...
《Android技术内幕:系统卷》是国内首本系统对Android的源代码进行深入分析的著作。全书将Android系统从构架上依次分为应用层、应
亨利·施莱辛格所著的《电池的秘史——引发技术革命的便携式电源》为了叙述清楚,将那些互不相干或互不搭界的内容联系在了一起。
《面向21世纪高等学校信息工程类专业规划教材·通信系统概论》共有8章内容,包括绪论、数字通信系统、多媒体通信系统、通信网络系
《CSS精粹(第2版)》采用问答的形式,为CSS使用过程中一些有价值的经典问题提供了精彩的实践解决方案。《CSS精粹(第2版)》内容包括
《当大数据遇见物联网:智能决策解决之道》内容简介:本书详细阐述了与大数据、物联网、决策科学开发相关的基本解决方案,主要包括
《漫步,遇见地道的台北生活》内容简介:本书是介绍轻松愉快的台湾徒步旅游书。作者带你逛仁爱路林荫大道、PEKOE杂货铺、东区茶街、
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统
五笔字型汉字速查一本通(双色版) 内容简介 五笔字型输入法是王永民教授发明的一种完全依照汉字字形进行编码的汉字输入方法,五笔字型发展到今天,共经历了三个版本,即...
来吧!带你玩转Excel VBA(含CD光盘1张)(双色) 本书特色 全面:从录制宏开始带你步入vba殿堂详细:每个案例都详述思路与步骤贴心:提供售后服务论坛与...
罗刚君编著的《ExcelVBA程序开发自学宝典(第2版)》是VBA入门的经典教材,对VBA的基础理论、语法规则、代码优化、编写思路、开发
嵌入式系统原理及接口技术高职 内容简介 近年来,国内教学科研单位使用的教学实验开发平台,基于s3c2410a微处理器的较为广泛,在产品开发中也较为常用。本书系统...
计算机系统结构(第四版) 本书特色 《计算机系统结构》内容丰富,取材适当,每章均有大量例题和习题,书末附有主要习题的参考答案。《计算机系统结构》可作为计算机专业...
《Python爬虫、数据分析与可视化》内容简介:本书根据大多数软件公司对Python数据分析和可视化的需求,面向Python初学者讲述爬虫、
《精彩江苏·画派系列:常州画派》内容简介:常州画派由一批生活在江南文化古城常州的画家群体组成,恽寿平是常州画派开山鼻祖,以
《国家调整农民工社会政策研究》内容简介:《国家调整农民工社会政策研究》以国家调整农民工社会政策为主题,具有重要的理论意义和
《OpenStack设计与实现》是一本介绍OpenStack设计与实现原理的书。《OpenStack设计与实现》以Juno版本为基础,覆盖了OpenStack的
《CFA一级闪卡》内容简介:作者根据CFA考试大纲,系统地梳理了CFA一级考试的知识点与复习重点,帮助所有考生迅速掌握CFA一级知识体
《在远远的背后带领》内容简介:作为家庭教育领域内的标杆性人物之一,安心用十年的时间从不越界、不评判、负责任、无伤害等6个角度
《Cocos2d-x 3.x游戏开发实战》内容简介:《Cocos2d-x 3.x游戏开发实战》是一本介绍Cocos2d-x游戏引擎的实用图书,全面介绍了最新的