课程简介
本演讲通过三个有代表性的真实案例洞察软件现状,思考软件的核心问题,介绍解决复杂软件问题的最佳实践。所选案例既有深度,又有趣味性,讲座现场以案说法,使用调试之剑剥丝抽茧,一步步揭开掩饰古怪问题的层层迷雾,直至找到隐藏在背后的那段“囧”陋代码。整个演讲以故事形式展开,引人入胜,让观者如听传奇。本讲座专门针对已经有较多软件开发经验的软件架构师、项目带头人和核心工程师而设计,目标是引领他们将技术水平和对软件的理解提升到一个新层次。
目标收益
本讲座专门针对已经有较多软件开发经验的软件架构师、项目带头人和核心工程师而设计,目标是引领他们将技术水平和对软件的理解提升到一个新层次。
培训对象
课程大纲
堆损毁导致的随机崩溃 | 以一个典型的因为字符串类使用不当而导致的堆错误为例,深刻理解进程中的多个CRT堆,堆的结构,Windows系统内存管理的基本原理,前端堆,堆的碎片问题和解决方法,堆管理器的脆弱之处,字符串类分配内存的方法,静态链接和动态链接可能产生的影响;分享使用堆的最佳实践。 |
在调试器看阿里的软件兵团 | 现场分析TaobaoProtect等软件导致高CPU使用率和高Page Fault的原因,思考客户端软件的新趋势和新挑战,并分享如何在没有源代码的情况下理解软件逻辑,分析软件故障。 |
后台服务因段错误崩溃 | 现场演示和分析Linux后台服务意外崩溃的原因,介绍调试Linux下应用程序崩溃的三种常用方法:GDB、dmesg + map文件、插入代码JIT调试。本案例介绍的知识点有:段错误的内在原因,信号和信号处理器,函数调用协议,C标准中关于无原型函数的处理方式,空指针,使用GDB分析栈的常用命令。 |
堆损毁导致的随机崩溃 以一个典型的因为字符串类使用不当而导致的堆错误为例,深刻理解进程中的多个CRT堆,堆的结构,Windows系统内存管理的基本原理,前端堆,堆的碎片问题和解决方法,堆管理器的脆弱之处,字符串类分配内存的方法,静态链接和动态链接可能产生的影响;分享使用堆的最佳实践。 |
在调试器看阿里的软件兵团 现场分析TaobaoProtect等软件导致高CPU使用率和高Page Fault的原因,思考客户端软件的新趋势和新挑战,并分享如何在没有源代码的情况下理解软件逻辑,分析软件故障。 |
后台服务因段错误崩溃 现场演示和分析Linux后台服务意外崩溃的原因,介绍调试Linux下应用程序崩溃的三种常用方法:GDB、dmesg + map文件、插入代码JIT调试。本案例介绍的知识点有:段错误的内在原因,信号和信号处理器,函数调用协议,C标准中关于无原型函数的处理方式,空指针,使用GDB分析栈的常用命令。 |