How to achieve conditional break point in your ABAP program


有不同的同事问我这个问题:例如LOOP要执行1000次,我只对其中的某一次比如第501次循环感兴趣,我肯定不可能按500次F5.或者我只对 LOOP里某个变量为某一个具体值的那一次循环感兴趣。如果避免重复按F5, 而是让断点直接停在我想停的condition上面?

其实有三种方法实现。 Line 15 will be executed 1000 times. And we are only interested with a given iteration, for example we want to ONLY stop at line 15 with condition = 22.

Approach1 - Source code breakpoint in ABAP debugger

Create a new breakpoint in debugger dynamically:

Maintain your condition as below:

Then F8 to continue, the break point is triggered only once when = 22.

Approach2 - Watchpoint


Approach3 - ABAP debugger script

Create a new debugger script:

Click “Script Wizard”->“Variable Value(for Simple Variable)”:

The wizard will generate code automatically for you ( marked with red ). You can finish the left code to achieve conditional break( marked with blank ). Save your script with a name.

Now launch your program, load the saved Script:

Then click Start Script:

Break point is triggered only once:




0 条评论
登录 后参与评论