abap debug

前言

接触一门新语言后学习如何debug是必不可少的,debug可以更好了解程序中逻辑以及查找bug原因。下文将介绍一些常用的debug方法,有问题的地方欢迎指出。

断点

断点类型分为会话断点和外部断点,将光标停留在打断点行,点击断点按钮,当点击测试或执行后程序执行到达断点位置会自动跳转到debug界面。执行debug前需先将程序激活。
断点位置 调试断点会话断点
会话断点:同一用户不同窗口都有效,直到用户注销。
外部断点
外部断点:用户注销再次登录依然有效,但只针对同一用户。
调试断点
调试断点:在debug中添加的断点,调试结束就会消失。

调试按钮

在这里插入图片描述
四个按钮快捷键分别对应F5, F6, F7, F8

  1. F5:逐行执行代码,在执行到perform,function等时会执行其内部代码。
  2. F6:和F5很相似,区别是执行到perform,function时不会执行其内部代码。
  3. F7:会一次执行完当前代码所在过程,如在perform,function中,会执行完其全部
      代码并跳出返回上一层调用处。如在主程序中,会直接执行完程序。
  4. F8:下面有断点执行到下一断点,无断点则执行完程序。

静态断点

  1. BREAK-POINT.      "所有用户都会暂停
  2. BREAK ‘USERNAME’. "只有用户 USERNAME 执行程序会执行断点

针对类型断点

abap debug_第1张图片
点击上图按钮可以切换成新版debug。
abap debug_第2张图片
选择菜单栏中的Breakpoints->Breakpoint at 可以根据条件选择不同类型断点。

1.Breakpoint at Statement(语句断点)

abap debug_第3张图片
可以输入abap语法关键字,执行到时停止。

2.Breakpoint at Subroutine(子过程断点)

abap debug_第4张图片
输入程序名称和form名称,执行到时会停止。

3.Breakpoint at Function Module(函数断点)

abap debug_第5张图片
输入function名称,执行到指定function时会停止。

4.Breakpoint for Method(方法断点)

abap debug_第6张图片
根据需要,选择类的类型,输入类名及方法名称,执行到时会停止。

5.Breakpoint at Exception(异常断点)

abap debug_第7张图片
旧版异常不需要输入异常类。

6.Breakpoint at Source Code(源码断点)

abap debug_第8张图片
基本没有用过,感觉效果和直接手动打调试断点效果差不多,如果指定行不是可执行代码会提示错误。

7.Breakpoint at Message(消息断点)

abap debug_第9张图片
有满足条件的消息时会停止。

创建观察点

abap debug_第10张图片
1.点击Watchpoint按钮。
2.Variable输入变量名称,Program name默认当前程序名称。
3.Condition输入框输入需要停止的条件。
4.Free Condition Entry中有一些关于条件的说明和例子。

abap debug_第11张图片
在Break./Watchpoints标签页中可以查看自己设定的断点,Watchpoints可以查看设定的观察点。

查看调试过程中变量值

abap debug_第12张图片
可以双击程序中要查看的变量,或者手动输入变量名称并回车。
查看变量中的值可以直接双击右侧变量,或到对应的标签页输入变量名称查看。
下图分别为内表 gt_spfli 和工作区 gw_spfli 中的值。
abap debug_第13张图片
abap debug_第14张图片

调试标准程序

想对标准程序进行调试,可以在执行前在输入tcode的输入框中输入’/H’,然后点击执行。/H

你可能感兴趣的:(#,调试篇)