大家好,我是 在本视频中, 如何在 具体来说, 专注于一些 基本理论。 那么,在本实验中, 我们将使用或学习 函数调试的技术。 函数调试技术正如 我们将会测试一个函数。 为了测试该函数, 为其提供 然后我们 思考将会出现的 然后我们会将该输出 通过这种方法, 测试我们的函数 我们将学习 调试技术, 观察输入和输出。 您将要测试的 用以实现 双曲线非线性 尤其是,如果您得到的 得到的是 在这里,您不会在 就拥有实际的模数转换器。 但是我们将会 更重要的是, 调试或测试该软件的 好,让我们开始吧。 调试的整体思路 概念。 一个是控制环境。 也就是说, 我将要控制 或者说,我的 第二个要控制的是, 视为输入。 函数调试的 是可观察性。 也就是说, 能否进行观察-- 我能不能看到输入。 能不能知道我的 以及能不能看到 在这个特定实验中, 使用调试器的技巧, 上面所说的操作。 好的,举个例子, 使用一种叫做 通过该技术, 换句话说, 和设置执行我的 也就是说,这是调试的 要实现该目标,一种方法是 您可以在这里 这里是您的模式转换器 会看到的一组数字, 也就是说,您可能会 得到数字 然后,您会在这里 这便是我们将要 因此,您可以在此处看到, 我将把输入值 可能的值 而且我知晓 因此,0、1、2、3、4、5、6、7, 7,000 转换值为 接下来,我将会 调用或测试您的函数-- 不是测试整个机器人, 查看得到的答案, 对实际输出和 如果您的软件 二者的差值在正负 我们就会说, 如果差值大于 我们就会将其 并且说您的程序 所以这个 是关于函数 这意味着, 因为当您的程序无法正常工作时, 所以,您会看到, 得到相同的输出。 这个过程被称为 并非所有的软件 但是这个特定的 也就是说,如果我再次调用-- 运行该函数,并为其提供 我将会得到完全相同的 错误数量。 这意味着,如果我对 并重新运行该函数, 将会是软件中的 这是我们通过 而实现的 那么,我是从哪里得到 尤其是,您可以看到 它们在 范围内均匀分布。 投入实际使用后, 典型范围。 我们还可以做到的 邻近极值的值。 如果我们知道客户 我们就可以为系统 这是该数据的 有些客户可能会 例如,如果您在这里插入 这种事情根本不可能发生, 如果这应该是 而我输入了一个 我可以观察 以及恰当输入时的行为。 临界情况是指 您知道会变得 例如,如果您的 如下决策: 只要大于 如果小于或等于 那么,当输入 过渡到 但是,输出, 在这个分界线或者拐角上 应该是不同的。 因此,这便是我们 综上所述, 我们将会针对该程序 这是函数调试 其中输入是已知的。 我们知道预期的输出。 然后,我们会测量-- 我们运行该程序, 然后,对两者进行比较。 我们从哪里获得测试数据呢? 您可以自己生成。 您可以让实际的机器人运行一次, 但是之后重复 因此,我们可用于生成 使用所谓的测试用例 组成的测试库, 这样我就可以像在 一遍又一遍地运行测试库。 另外一种方式是 然后生成我称之为临界情况 那么,您将会看到另外 它设置了 比较困难的数字。 对这种情况进行分类。 然后,检查您的 通过这种方式, 可能的数据,即可验证 所以,关于控制, 事情就是决定 这是特殊测试 在该示例中,我不是 而是测试这里的 这是您在实验 我们将会测试该函数。 如果您有一个机器人, 便是设置断点。 您单击这行代码, 您对调试器说,嘿, 这样,您就可以在这里 当您点击 它便会向下执行。 然后,第一次到达 停止后,您便可以 单步执行即每次 如果您执行步越, 这会一次执行一行 如果调用函数, 在步越中,这是一行。 如果遇到函数, 这是步越的运作方式。 步入跟单步执行有些类似。 如果遇到函数, 并在其中执行。 步出是在您执行步入后 如果您具有第 调用、第 在调用的函数中, 这些行代表 return。 如果我单步执行-- 让我们首先进行单步执行。 如果我单步执行,它会向前一步-- 让我们只是单步执行、执行、 这便是单步执行 步越,如果我执行步越, 执行这个。 然后,我再一次 它将会执行这个这一部分, 所以我点击步越三次, 步出是,如果我恰巧 如果我执行步出, 剩余部分, 同样,为了控制 我可以设置测试 我们还可以设置断点, 为了构建输入, 不是从实际的 传感器收集输入, 包括左侧、 传感器-- 好了,我们已经 接下来我们讨论一下可观察性。 现在,包括 大多数调试器中 监控窗口的东西。 在调试器中, 全局变量。 只需单击该变量, 而且,我可以将 在要求时进行 这便是我可以对全局 这是我可以在监控窗口中 针对局部变量, 因此,通过调试器, 局部变量。 如果您真的了解 那么您可能 特别是,我可以 我可以看到 我可以看到程序计数器, 连接寄存器-- R0 而且 也是唯一一个参数。 实验 这里是实验 但在实验 我将会采用 这个数组可能存储在 它可能会是一个较小的数组。 或者,可能实际上存储在 此时则可能会是一个较大的数组。 当程序运行时, 这便是转储。 这样做的优点是 因此,虽然我也 跟你们一样在前面 该如何做, 还是由您的编译器 但是,在这节课中, 我们不使用 当然,这里是有 因此,如果您想 您实际上可以输出到 而且,如果您已经 笔记本电脑,那么 例如 可以查看来自串行端口 UART 机器人现在无法 因为要连接 那么,如果没有 我们要做的是, 一些设备,来帮助 LED 因为 LED 它只是一点点亮光。 您可以使其以不同的颜色闪烁, 用它来观察 蓝色光可能 绿色光则可能 实验 同样,它也不能帮助您的 但它能帮您显示信息。 所以,您可以将信息 在机器人四处走动时, 查看液晶显示屏, 以物理方式查看 同样,这也需要 控制会设定输入 可观察性则是-- 如果您有调试器,您可以 如果机器人沿跑道运动, 然后过后再查看 如果您没有 您可以连接 串行端口的输出。 但是,如果您正在 我们将使用 液晶显示屏等设备, 来观察机器人在想什么。 总之,本实验是一个 简介。 但更重要的是, 一组与调试的第一个 这个方面被称为 它是指测试 而且,我们将会为其 然后我们会将预期输出 进行比较。 要做到这一点, 控制执行该函数的 并设置它的输入。 而且,我们需要能够 希望您喜欢本次实验。 我们下次再见。 An internal server error occurred.