1. 程式人生 > >在ABAP裏實現條件斷點的三種方式

在ABAP裏實現條件斷點的三種方式

png abap ble 公眾 動態 觀察 創建 oop 不可

背景

有不同的同事問我這個問題:例如下圖的LOOP要執行1000次,我只對其中的某一次比如第501次循環感興趣,我肯定不可能按500次F5然後進入第501次的調試。或者我只對LOOP裏某個變量為某一個具體值的那一次循環感興趣。如何才能避免重復按F5,讓斷點直接停在滿足我期望的條件上?

技術分享圖片

其實有三種方法實現。

方法1 - 使用ABAP調試器自帶的條件斷點功能

假設上圖的例子裏,我希望循環體內的第15行,當等於22時觸發斷點。

創建一個新的動態斷點:

技術分享圖片

在此處維護該斷點觸發的條件:

技術分享圖片

按F8,當的值在循環體內被賦以22時,斷點觸發:

技術分享圖片

方法2 - 采用如下菜單創建觀察點

技術分享圖片

技術分享圖片

這種方法和法1類似。

技術分享圖片

技術分享圖片

方法3 - 使用ABAP調試器腳本

切換到Script tab,創建一個新的腳本:

技術分享圖片

點擊Script向導按鈕, 雙擊選項Variable Value(for Simple Variable):

技術分享圖片

這個向導會自動生成一些腳本源代碼,也就是下圖紅色方框內的代碼。我們需要做的事情就是手動寫下第51行到第53行的代碼。點擊按鈕"Save As"保存這段腳本並給其取個名字,例如ZJERRY_TEST。

技術分享圖片

再次啟動您的程序,加載剛才保存的腳本ZJERRY_TEST。

技術分享圖片

然後點擊下面的按鈕:

技術分享圖片

斷點同樣會自動停下來:

技術分享圖片

要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:

技術分享圖片

技術分享圖片

在ABAP裏實現條件斷點的三種方式