实现ABAP条件断点的三种方式

简介: 实现ABAP条件断点的三种方式

本文是鼠年第3篇文章,也是汪子熙公众号第202篇原创文章。

今天是大年初三,Jerry祝大家霍去病,辛弃疾,健健康康,长命百岁。

image.png

ABAP条件断点这个话题,Jerry的同事曾经问过我,虽然小但很实用。


所谓条件断点,就是设置在某行语句上的断点,并不总是会触发,而是仅当满足一定条件时才触发。


条件断点的使用场合是什么?


举个简单的例子,下图第15行ADD语句设置一个断点。因为它在一个具有1000行的内表循环体内,所以正常情况下会触发1000次。

image.png假设我们在调试一个bug,这个bug当循环到第999次时才出现,那我们前998次的单步调试都是无效的。最高效的做法,就是借助条件断点的概念,让断点在代码执行到第999次循环时,触发且仅触发一次。


本文介绍实现ABAP条件断点的三种方式。也欢迎大家分享自己最喜欢用的且本文尚未提到的条件断点技术。


为了方便记忆,Jerry用天下会雄霸帮主的三种绝技来给这三种条件断点的实现方式命名。


方法一


天霜拳 - 给ABAP断点维护触发条件


天霜拳,冰系技能,雄霸传予大弟子秦霜。


天霜拳在马荣成的《风云》漫画里一共出现了14式:

风霜扑面

霜寒抱月

霜结中霄

霜雪纷飞

霜冷长河

霜痕累累

霜凝见拙

披霜拨露

霜雪冰山

傲雪凌霜:这是天霜拳的绝招,也是最为强劲的一招。一招四式(傲立孤峰、雪岭寻梅、凌云压顶、霜河倒影),寒气弥漫,四下五丈之内都被冻成冰霜。


大师兄啊,在《风云》里是个杯具人物,唉。

image.png

image.pngimage.pngimage.png

仅《风云》第一部里,步惊云就掌握了霍家剑法,悲痛莫名,排云掌,圣灵剑法,麒麟臂,三霸剑等等。Jerry个人认为塑造得最成功出彩的,还要算那十二式变化莫测,名称飘逸的排云掌:


行云流水

披云戴月

翻云覆雨

排云倒海

乌云蔽日

重云深锁

撕天排云

云海波涛

燮云无定

殃云天降

愁云惨淡


ABAP的调试器,也和步惊云的排云掌一样,使用方式变化多端。


此处创建Watchpoint:

image.png

image.pngimage.pngimage.png

方法三


风神腿 - ABAP Debugger Script


天下武功,唯快不破。


拥有一头飘逸长发的聂风,施展起六式风神腿来,如暴风骤雨,摧枯拉朽, 真可配得上“风中之神”的称号。


捕风捉影

风中劲草

暴雨狂风

雷厉风行

风卷楼残

神风怒嚎




ABAP Debugger Script这项技术,在SAP研究院内部用的很广泛。


回到上面的例子,我们将编写一段简单的ABAP代码,去控制目标ABAP代码的断点触发。


在ABAP调试器里,点击Script标签页,创建一个新的ABAP脚本:


image.png

image.pngimage.pngimage.png

目录
相关文章
|
5月前
|
程序员
什么是 ABAP 编程语言里的 Exception 断点
什么是 ABAP 编程语言里的 Exception 断点
|
机器学习/深度学习 存储 监控
实现 ABAP 条件断点的三种方式分享
实现 ABAP 条件断点的三种方式分享
一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
ABAP程序里设置外部断点,调试时断点怎么也触发不了,该怎么办
ABAP程序里设置外部断点,调试时断点怎么也触发不了,该怎么办
455 0
ABAP程序里设置外部断点,调试时断点怎么也触发不了,该怎么办
如何解决由于ABAP development tool的冲突导致在SAPGUI里不能设置断点的问题
如何解决由于ABAP development tool的冲突导致在SAPGUI里不能设置断点的问题
172 0
如何解决由于ABAP development tool的冲突导致在SAPGUI里不能设置断点的问题
在ABAP里实现条件断点的三种方式
背景 有不同的同事问我这个问题:例如下图的LOOP要执行1000次,我只对其中的某一次比如第501次循环感兴趣,我肯定不可能按500次F5然后进入第501次的调试。或者我只对LOOP里某个变量为某一个具体值的那一次循环感兴趣。如何才能避免重复按F5,让断点直接停在满足我期望的条件上
182 0
|
5月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版

热门文章

最新文章

下一篇
无影云桌面