|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/debugging-mindset/
课程评论:没有评论
**课程名称:** Debugging Mindset (调试思维) **课程概述:** 本课程旨在帮助软件开发者培养应对棘手 Bug 的调试思维。课程指出,在软件开发生命周期 (SDLC) 中,调试是最耗时的工作,其中定位故障(即找到问题的根源)是整个过程真正的瓶颈。虽然学术界已尝试通过自动化技术在实验环境中取得相对成功,但现实情况是,每个 Bug 都是独特的,没有一种自动化调试技术适用于所有情况。因此,本课程将介绍一系列有用的概念,帮助开发者建立一套能够应对复杂 Bug 的思维框架。 **课程内容摘要:** * **第一部分:引言 (Introduction)** * **什么是 Bug?(What is a bug?)** 介绍描述计算机问题的不同术语,以及“Bug”一词的起源故事。 * **软件调试涉及的活动 (Activities involved in software debugging)** 描述进行有效调试过程所需的各项活动。 * **第二部分:有用的技术 (Useful Techniques)** * 介绍一系列实用的调试技术,包括导航依赖树 (navigating the dependency trees)、差量调试 (delta debugging) 和比较 (comparisons)。 * **第三部分:常见的调试工具 (Common Debugging Tools)** * 介绍大多数集成开发环境 (IDE) 中可用的调试工具。 * **第四部分:代码审查过程 (Code examination process)** * 描述在故障定位过程中检查代码时应遵循的流程。 * **第五部分:调试演示 (Debugging Demos)** * 通过实际程序中的示例,展示如何运用课程中介绍的概念进行调试。
Debugging is the most expensive task in the SDLC. More specifically, the fault localization (i.e., locating the root cause of the problem) step is the real bottleneck in the entire process.There are several attempts in academia to address this problem using automation techniques with relative success in experimental settings and for specific circumstances. However, in reality, every bug is a case on its own, and there's no single automated debugging technique that can be applicable to every situation.This course introduces useful concepts that help create a mindset that software developers can use to deal with difficult bugs. Section 1: IntroductionWhat is a bug? (YouTube Video)In this lecture you'll learn about the different terms that describe computer problems as well as the story of using the term "bug" to describe them.Activities involved in software debugging This lecture describes the activities needed for a proper debugging process.Section 2: Useful TechniquesThis section provides a description of a set of useful techniques that you can use for debugging, including navigating the dependency trees, delta debugging and comparisons.Section 3: Common Debugging ToolsThis section describes a set of tools available in most IDEsSection 4: Code examination processThis section describes a process to follow while examining the code during fault localization.Section 5: Debugging DemosIn this section you'll see examples of using the concepts described in the course to debug real programs.