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 执行程序会执行断点

针对类型断点

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

1.Breakpoint at Statement(语句断点)

语句断点
可以输入abap语法关键字,执行到时停止。

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

子过程断点
输入程序名称和form名称,执行到时会停止。

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

函数断点
输入function名称,执行到指定function时会停止。

4.Breakpoint for Method(方法断点)

方法断点
根据需要,选择类的类型,输入类名及方法名称,执行到时会停止。

5.Breakpoint at Exception(异常断点)

异常断点
旧版异常不需要输入异常类。

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

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

7.Breakpoint at Message(消息断点)

消息断点
有满足条件的消息时会停止。

创建观察点

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

查看断点
在Break./Watchpoints标签页中可以查看自己设定的断点,Watchpoints可以查看设定的观察点。

查看调试过程中变量值

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

调试标准程序

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

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子皮不皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值