LINUX平台高级调试和优化.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件调试高级研习班2018 上海站 LINUX 平台高级调试和优化 关于LINUX 的资料浩如烟海,学习LINUX 的途径也有很多,如何才能在比较短的时 间里获得一个比较大的提升呢? 《软件调试高级研习班》将与各位LINUX 爱好者共同探索 这个问题的最佳答案。本着生动有趣、理论与实践密切结合的原则,本研习班独辟蹊径,使 用调试之剑披荆斩棘,带你闯荡纷繁复杂的 LINUX 世界。以格物精神,钻研代码,深挖 LINUX 系统的核心机制,这一讲求得一理,下一讲再求得一理,步步推进。整个研习班, 旨在实现三大目标:(一)深入理解LINUX 操作系统的基础设施和核心机制;(二)学习开 发LINUX 程序(内核模块和应用程序)的工具和方法(三)学习LINUX 平台上的调试工 具和调试典型问题的方法。本研习班由《软件调试》和《格蠹汇编》的作者张银奎携手INTEL 系LINUX 高手程煜明博士共同担任教练。今年4 月,本研习班曾在庐山秀峰成功举办,这 一次移师上海,在上一届的基础上增加了实战内容,并适当增加深度。 时间:2018 年9 月2 1 日- 9 月23 日(周五-周日) 地点:上海 形式:实战演练、讲解和讨论点评 时间长度:3 天 培训对象:在Linux 平台上从事开发或测试的软件工程师、项目带头人和技术经理 主办单位:高端调试网站、上海曜印网络科技有限公司 第一部分:LINUX 系统大局观 (1 小时) 要点:Linux 内核的早期版本,推动Linux 发展的两股力量,GPL,Tainted ,反面典型Nvidia , 解析内核源代码树, Linux 架构,ld (Loader ),libc,重要的内核模块,Linux 的主要发行 版本,Linux 的主要开发者,内核参数,内核文档和工具链(GCC ) 第二部分:全面认识GDB 之用户态调试 (1.5 小时) 要点:为自由而生,Richard Stallman 传奇,GDB 诞生记,GDB 版本,GDB 的架构和工作 原理,ptrace ,命令类型,命令语法,常用命令,调试符号,DWARF ,符号文件,下载Ubuntu 的符号包和源代码,ELF 结构,readelf ,寻找符号的方法,栈回溯(bt ),软件断点、硬件 断点,复杂的断点命令,控制线程 第三部分:应用程序崩溃和转储(1 小时) 要点:信号,信号处理器,信号屏蔽,使用setjmp 和longjmp 处理异常,Ubuntu 的错误报 告机制, 使用Python 脚本定制和收集更多信息 实战1:使用GDB 调试后台服务因段错误崩溃 (90 分钟) Linux 下重要后台服务(Daemon)随机崩溃,深挖到底,竟然与C 语言的规范有关,让你深刻 认识C 与C++的一个大不同之处,感受著名的头文件陷阱;熟悉如下工具和主要技能:GDB, GCC,map,dmesg,调试Linux 应用程序,反汇编,插入代码JIT 调试;温习如下知识点: 虚拟内存,分页机制,页表,缺页异常,段错误,空指针,ATT 汇编和 Intel 汇编,调用 规约 第四部分:CORE 转储和分析(1 小时) 要点:Core 机制,配置产生core 文件,使用gdb 分析core 文件,加载符号,手工回溯栈, 案例讨论,分析Core 转储的最佳实践 第五部分:全面认识GDB 之内核态调试(1.5 小时) 要点:Linus 对内核调试的态度,艰难推进,KDB 与 KGDB ,核心引擎,代码分析,KDB 实际演练,KDB 的重要命令,准备KGDB 调试环境(内核调试环境建立和实际演示),调 试符号,使用Ubuntu 的符号包,初始断点,kgdbwait ,KGDB 中调用KDB 命令,触发break-in 的多种方法,/proc/kcore 第六部分:文件系统(1.5 小时) 要点:“一切皆文件”,文件系统架构,组成,文件操作,设备文件系统,使用内核调试器帮 助理解文件系统,EXT FS ,Reiser FS ,四个核心对象,准文件系统,proc fs (原理,关键代 码,重要的应用,meminfo ,maps 等),sysfs,debug fs 实战2:使用LINUX 双机内核调试探究句柄混论之谜 应用程序与驱动程序通信时,驱动程序总是收到错误的数据,打印出来观察,竟然是日志信 息送给了驱动…使用KGDB 分析应用层程序与驱动程序间通信的过程,分析数据混乱原因, 理解虚拟文件系统、Linux 驱动程序、sysf

文档评论(0)

aa15090828118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档