Close Banner

软件调试

将枯燥的任务自动化

中级

大约 2 个月

6小时每周 (按照自己的节奏)

加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习
中级

大约 2 个月

6小时每周 (按照自己的节奏)

加入成千上万的全球学员
观看软件调试课程介绍
观看视频

课程概述

在本课中,你将学习如何系统地调试程序,如何自动化此过程,以及用 Python 编写自动化调试工具。

为什么学习这门课程?

在本课程结束时,你将对系统调试有了充分的了解,知道如何自动化调试,并在 Python 中成功构建几个功能完备的调试工具。

先修要求

具备优达学城 CS101 计算机科学导论同等或更高级别的编程和 Python 基础知识。对面向对象编程有基本的了解会比较有用。

查看使用优达学城的技术要求

学习计划

第 1 课:调试器的工作原理

理论:科学方法及其在调试中的应用。
小趣闻:计算机科学史上的第一个漏洞(bug)。
实践:构建一个简单的追踪器。

第 2 课:断言期望

理论:测试和调试中的断言。
小趣闻:历史上代价最昂贵的漏洞。
实践:改进追踪器。

第 3 课:简化故障

理论:简化故障的策略、二进制搜索、Delta 调试原理。
小趣闻:Mozilla 漏洞马拉松活动。
实践:创建一个 Delta 调试器。

第 4 课:追踪起源

理论:因果链。推理。依赖关系。时间片。
小趣闻:夏洛克·福尔摩斯和华生。
实践:改进 Delta 调试器。

第 5 课:重现故障

理论:漏洞类型(Bohr bug、Heisenbug、Mandelbug 和 Schrodinbug)。系统化再现过程。
小趣闻:疯狂的笔记本电脑漏洞。
实践:构建统计调试工具。

第 6 课:从错误中学习

理论:漏洞数据库管理、漏洞分类、漏洞图、从错误中学习。
小趣闻:史上代码漏洞最多的程序员。
实践:改进你的工具并使用一个真实漏洞数据库进行练习。

讲师与合作伙伴

Andreas Zeller

Andreas Zeller

Andreas Zeller 是德国萨尔州大学的一名计算机科学教授。 他主要研究程序员的生产力:如何让程序员的生活和工作变得轻松?在 Linux 和 Unix 程序员社区中,他因构建了带有内置数据可视化功能的调试器前端 GNU DDD 而享有盛名。 在学术界和高级专业人士中,Zeller 最为人所知的是 Delta 调试,这是一种自动隔离计算机程序故障原因的技术。

Gundega Dekena

Gundega Dekena

Gundega 曾是优达学城的学员。如今,从某种意义上来说,她依然是个学生,因为她每天都会从一起共事的讲师和优达学城的同事身上学到新的东西。

如果你想阅读一些关于机器人、科技和游戏方面的趣味新闻,不妨在 G+ 上关注她 - https://plus.google.com/+GundegaDekena

官方微信公众号二维码

优达学城(Udacity)微信