Debug Hacks中文版

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > Debug Hacks中文版

出版社:电子工业出版社
出版日期:2011-8
ISBN:9787121140488
作者:吉岡弘隆,大和一洋,大岩尚宏,安部東洋,吉田俊輔
页数:424页

章节摘录

版权页:插图:

内容概要

作者:(日本)吉岡弘隆 (日本)大和一洋 (日本)大岩尚宏 等 译者:马晶慧

书籍目录

第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

编辑推荐

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

作者简介

《Debug Hacks中文版—深入调试的技术和工具》是Miracle Linux的创始人吉冈弘隆和几位工程师们多年从事内核开发的经验积累。从调试器的基本使用方法、汇编的基础知识开始,到内核错误信息捕捉、应用程序调试、内核调试,本书深入浅出地讲解了Linux下应用程序和内核的调试技巧。
虽然本书的出发点是Linux内核调试,但书中的绝大部分知识在许多领域都能派上用场。如Linux应用程序开发,嵌入式Linux开发,甚至时下流行的ios应用程序开发,只要从事应用程序开发的工作,就会涉及调试,那么读一读本书也不无裨益。

图书封面


 Debug Hacks中文版下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     项目团队经验不足,对于内核调试除了加printk没有任何较好的技巧。在前面一个《支撑处理器的技术》的影响下,让我觉得狗日的技术书籍质量还是蛮高,所以就尝试阅读这本书。这本书印象较深的是warn_on的一个跟踪堆栈信息的宏,当然请注意这个是在内核需要警告的时候打印的哦,对于跟踪内核路径非常有帮助,当然也是学到这个小技巧,现在整个团队都会用这个贱招了,哈哈,的确给我们帮了很大的忙。然后本书第二个还有印象的收获是kprobe,这个东西可以让我们不用每次为了跟踪内核加打印之后都重编内核,目前本人也没有去尝试kprobe的技巧,我们工作项目不幸被裁剪掉kprobe了...不过最近本人一直沉迷在一个称为systemtap的开源项目,他可以简化你的内核跟踪技巧,当然人家也是基于kprobe的...
  •     如果把这本书定位为linux下的初级入门调试书籍,或者linux开发的入门书籍,还是值得推荐的。这本书细致的讲解了linux下常用调测工具,比如objdump,每个选项都讲解的很细致,这也充分体现了日本人的严谨之处。linux下的调测,我觉得,可以分为功能调试和性能调试这两块。功能调试是为解决程序自身的bug,这是我们主要使用的方面;性能调试则是用来辅助优化程序以提高软件代码性能的。功能调试可以分为内核态调试和用户态调试,一般的linux开发者都会接触到用户态调试。典型的用户态调试工具有,gdb、objdump、gprof、strace、backtrace、diff等工具,这本书基本都有所涉及。内核态调试手段有,proc、sys文件系统,menucongfig里的kernel hacking的各个tracer选项,kgdb,kprobe,kmemcheck、kmemleak,dumpstack,systemtap,printk等,这本书也稍有讲解。性能调试工具主要是嵌入式开发者使用,这类工具有,oprofile、valgrind、perf等,这本书讲了valgrind。总体而言,这本书对于初级linux开发者会有莫大帮助,而对于中高级开发者则意义不大。因为,这本书只是讲解了基本的使用方法,而没有讲解它的原理。比如,gdb的本质是ptrace系统调用,attach或fork子进程这两方面;再比如,kprobe的本质是插装,它用自己的指令来替换被调程序的指令,等等。另外,我对于内核的错误注入比较感兴趣,这在内核开发社区里应该使用的比较多,我还没有使用过。ps:由于这篇评论是躺在床上使用iphone写的,所以排版上很糟糕,内容也未细细琢磨,如有错误,还望批评指正,共同进步。

精彩短评 (总计60条)

  •     这个还是不错的,推荐下
  •     重点关注了第四章"应用程序调试实践"。由于对内核了解较少,所以涉及内核的部分只能算是泛读。
  •     内核和应用的调试方法都有简单的提到!也对许多调试工具、性能工具进行了简单的介绍!
  •     最后几节颇有几个我不知道的技巧。
  •     ....
  •     如果大学的时候就看到这本书多好!
  •     すごい……
  •     翻译挺靠谱的
  •     主要读了应用程序Debug的部分,内核Debug部分没有经验就没看了。作者功力还是很深厚的,学习到很多Debug的技巧。
  •     我看的是繁体版,翻译还靠谱一些——好吧我搞错了,简体版翻得很搓的那本是binary hacks。
  •     都说小日本小日本,技术方面不如人家啊 有点高深,许多平时都用不到,长个见识,用到时候再翻吧
  •     介绍调试的技巧,感觉挺实用的。
  •     案头必备
  •     简单过了一遍,各种神器... 志于搞linux内核的话该买一本
  •     很不错,学到了很多调试技巧
  •     整体而言还是不错,讲了很多Linux调试的技巧
  •     内容丰富
  •     简单浏览,用到再查。
  •     debugging is twice as hard as writing the program in the first place. So, if you’re as clever as you can be when you write it, how can you debug it?
  •     太专业了,没看懂~
  •     只有赞, 不能说更多了! 如此贴近我工作的书实在是太少了. 毕竟很少有人想去调试kernel panic.
  •     很好讲的很透彻,建议买一本
  •     质量不错!5折真值了!
  •     : TP311.52/4671
  •     偶然发现的,对项目有点用~
  •     随便翻翻
  •     增加对系统调试的一些思路,例如:系统debug-api:core-dump, invoke-functions;系统状态api: /proc, /sys。
  •     适合不会用gdb调试程序的人看,常用命令都包含了~
  •     对于英文不好的人来说还算有用
  •     前半部仔细读了,后半部分是“翻”过来的。systemtap是个好东西。
  •     功力不够,基本没看懂。
  •     当时正在调试部分碰到了瓶颈,看到了fleuria的推荐买的,结果对于我来说是一把屠龙刀。这是给专业的现在内核开发人员用的,我其实现在需要的只是一把菜刀。这本书对于一般人来说没有什么用,对于内核开发人员肯定特别有用。
  •     一半内容这辈子都用不到,一半内容已经晓得了。。。WTF。。。
  •     主要讲解linux下的kernel及userland程序的debug。适合入门,涉及的知识面非常广。Linux Kernel,汇编,应用编程方法,gdb,crash等用法。 难得一本具体教你怎么动手解bug。 不像“调试九法 软硬件错误的排查之道”那么多废话。
  •     很好的入门书 解决实际问题
  •     内核部分没看;翻译的靠谱,没感觉到别扭。
  •     非科班的可以看看
  •     想甩掉printf和printk,学习更高端大气一点的调试技巧的很好选择。
  •     没看懂%>_<%
  •     debug hacks
  •     到图书馆借了本书,离校前尽量多看,争取看完~~嗯···
  •     不会内核,最近调nginx模块的bug,拿这本书当工具书查,基本是只看userspace部分
  •     对于调试来说,不失为一本好书
  •     了解了不少linux应用和内核调试的小技巧,对于象我这样从windows过来的很有用。话说linux下有没有象UMDH这样好用的内存检测工具呢?
  •     主要是针对内核开发者的,调试手段很全面
  •     内核调试
  •     又是日本人写的书!
  •     感觉被虐了...好多不懂...还是有点收获的,慢慢提高慢慢啃... ^-^
  •     的挺满意的意的挺的
  •     解答了很多一直以来不清楚的问题。
  •     入门书籍
  •     很好很好
  •     别看第一章。。。直接从第二章开始
  •     可惜关于程序调试部分太少了,还是binary hacks好,可惜买不到。
  •     太实用了,绝对值得一看。调试Linux内核的部分虽然我用不到,但是讲解GDB,以及调试Linux应用程序的部分,对程序员来说太实用了,可能我以前的调试技术太差了,基本都是写日志调试错误。看来这本书才知道原来运行中的进程可以直接用GDB attach进入调试模式。很有收获,强力推荐。
  •     印刷不错,还没来得及细看,看了一下目录,感觉不错覆盖很广
  •     可以把C程序设计与debug结合起来的书,贵在一目了然,举重若轻的表述清楚了这件事
  •     调试不可不读的书
  •     功力太浅,只看了些部分调试工具的使用,搞kernel hack还是挺好玩的,看这书第一件事是要懂得怎么把系统弄panic。。
  •     很好的入门书
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024