[hellogcc] Re: [hellogcc] Re: [hellogcc] Re: [hellogcc] Re: [hellogcc] Re: [hellogcc] 《100个gdb小技巧》

  • From: Hui Zhu <teawater@xxxxxxxxx>
  • To: "hellogcc@xxxxxxxxxxxxx" <hellogcc@xxxxxxxxxxxxx>
  • Date: Tue, 3 Jun 2014 14:36:37 +0800

那我建议可以搞个WIKI那种
方便大家合作编写

2014-06-03 14:08 GMT+08:00 Mingjie Xing <mingjie.xing@xxxxxxxxx>:
> 我说的书,不一定非要纸质出版的。可以是电子版形式,网页形式。就当作是一个汇总资料。就看各位是否有兴趣投稿了。
>
> 投稿形式类似这样的:
>
> 技巧1:标题xxx
> 编辑/作者:xxx
> 具体内容xxx
>
> 然后,我们汇总,分类一下即可。
>
> 在 2014年6月3日 上午11:41,Hui Zhu <teawater@xxxxxxxxx> 写道:
>> 现在搞这种书还会有人看么?感觉现在用户有点萎缩了
>>
>> 2014-06-03 11:38 GMT+08:00 WU Wei <wuwei.gucas@xxxxxxxxx>:
>>> 好主意!
>>>
>>> 注意到有一本《Debug Hacks - 深入调试的技术和工具》看起来还不错, 主要针对的是内核调试的. 我们或许可以借鉴下这本书的描述风格?
>>>
>>> 书名: Debug Hacks中文版
>>> 链接: http://book.douban.com/subject/6799412/
>>>
>>> (credit: 以下内容粘贴自豆瓣图书.)
>>>
>>>  ・ ・ ・ ・ ・ ・ ISBN信息  ・ ・ ・ ・ ・ ・
>>> 作者: 吉��弘隆 / 大和一洋 / 大岩尚宏 / 安部�|洋 / 吉田俊�o
>>> 出版社: 电子工业出版社
>>> 副标题: 深入调试的技术和工具
>>> 原作名: Debug Hacks
>>> 译者: 马晶慧
>>> 出版年: 2011-8
>>> 页数: 424
>>> 定价: 69.00元
>>> 装帧: 平装
>>> ISBN: 9787121140488
>>>
>>>  ・ ・ ・ ・ ・ ・ 内容简介  ・ ・ ・ ・ ・ ・
>>> 《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
>>>
>>>
>>> 在 2014年6月3日 上午9:30,Hongxu Chen <leftcopy.chx@xxxxxxxxx> 写道:
>>>> 非常期待,多谢邢大大~
>>>> 另外,不妨分享些~/.gdbinit文件并且讲解讲解相关设置的应用场景。看到很多dotfiles,但是gdb上的却很少。
>>>>
>>>> Thanks and Regards,
>>>> Hongxu
>>>>
>>>>
>>>> 2014-06-03 8:49 GMT+08:00 Mingjie Xing <mingjie.xing@xxxxxxxxx>:
>>>>
>>>>> 各位gdb牛人,有没有兴趣编纂一本《100个gdb小技巧》/《100 gdb
>>>>>
>>>>> tips》?采用GFDL许可证,汇总100个使用gdb的小技巧,类似于nanxiao在博客上发的那种简单形式(http://www.hellogcc.org/?p=33834)。
>>>>>
>>>>> 难点在于能不能找到100个,呵呵。
>>>>>
>>>>> 祝好
>>>>> 邢明杰
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Wei WU

Other related posts: