您可以单步执行应用程序并浏览代码。这有助于在运行时检查代码的状态。 您可以检查调用过程、跟踪变量值或查找错误。

为此，在***调试***菜单中提供了步进命令。在在线模式下设置断点，然后在断点处暂停执行时，这些命令可用：应用程序处于 ***在BP上停止***状态（调试模式）。在调试模式下，当前中断位置以黄色突出显示，并在文本编辑器中用 符号标记。

---

### 切换到调试模式

1.将您的应用程序下载到控制器。  
⇒该应用程序以绿色突出显示。MetaFacture和POUs的编辑器处于在线模式。  
   
![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/6722107c0738d.png)  
   
2.在POUs中，在要检查的代码中的位置设置断点。  
⇒所有断点都在***断点***视图中列出。

3.启动应用程序  
⇒应用程序启动并处理代码，直到第一个断点为止。  
   
现在应用程序处于调试模式。 在设备树中，应用程序标记为在***断点处停止***。状态栏提供有关运行状态的信息：  
   
![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210a030c6c.png)  
   
   
编辑器在当前的中断位置打开。带有活动断点的代码行，在该行处暂停了程序执行以黄色突出显示，并用 符号标记。黄色突出显示的语句尚未执行。  
   
![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210acaaf8a.png)  
   
现在，您可以选择各种步进命令或显示调用树。

---

### “调试”菜单中单步执行命令的行为 ​

- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210c7d1ee5.png)***跳过***  
    在断点位置执行语句。 在POU中的下一条语句之前，程序执行停止。  
    如果该语句包含一个调用（来自程序，功能块实例，函数，方法或操作），则从属POU会在一个步骤中完全处理。
- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210d6f0acf.png) ***跳入***  
    在断点位置执行语句。在下一条语句之前，程序执行停止。  
    如果语句包含调用（来自程序、函数块实例、函数、方法或操作），则程序执行将跳到此从属POU。 在此执行第一个语句，并且在下一个语句之前暂停程序执行。然后，新的当前断点位置将位于调用的POU中。
- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210e46afc4.png) ***跳出***  
    该命令从当前断点位置执行POU到POU的末尾，然后跳回到调用POU。 程序执行在调用位置停止（与调用一致）。  
    如果当前断点位置在主程序中，则POU一直运行到最后。然后程序执行跳回到开始（在POU中的第一行代码开始）并停止。
- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672210f033a0e.png)***运行到光标***  
    首先将光标置于代码的任意行，然后执行命令。程序从当前断点位置执行，并在当前光标位置停止，而不执行此行的代码。
- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/6722114a6dc8a.png)***设置下一条语句***  
    首先将光标设置在任何代码行（也在当前断点位置之前），然后执行命令。 接下来执行带有光标标记的语句。忽略并跳过中间的所有语句。
- 命令![](https://resource.helplook.net/docker_production/3648ne/article/uzXyA2Aw/672211504fd47.png)***显示下一条语句***  
    如果看不到当前断点位置，请执行该命令。 然后，具有当前断点位置的窗口将成为焦点，并且该断点位置可见。

单击***视图 ➔ 调用堆栈***以完全显示程序处理中当前到达的断点位置的上一个调用树。