天天看點

DEBUG 系列一:Dump debug

1)ST22

2)ABAP EDITOR

DEBUG 系列一:Dump debug

3)光标自動定位到dump的位置,打斷點

DEBUG 系列一:Dump debug

然後執行下看看,

這個時候,發現,供應商是空,(然後裡面沒控制好,如果供應商是空會引起dump)

4)然後看看哪兒指派的。(當然也可以debug進來後設定觀察點,這裡先看看代碼邏輯的好)

後來發現這裡指派的

debug的時候發現物料号是空。然後再看物料号為啥是空。

發現是這裡取的物料資訊

标準函數了,可以F5進去看看。但是一點兒點兒debug也挺麻煩的。

對于開發可以這麼去一點兒點兒debug。也沒啥問題,看看哪兒取值沒取到,再分析原因。

另外,如果這個列印是個例的話,那可以考慮直接從資料下手。

對比下正常不報錯的和一個dump的資料,幾個關鍵表或者前台去看看兩條資料有啥不一樣。

有時候比一點兒點兒debug 标準代碼更輕松一些。

回到剛才這個問題。因為在标準的取數之前,有一條sql語句

Select Single,而且用的不是主鍵。

是以我當時第一反應是這個sql會不會取的不對。

然後debug的時候根據這個where條件,去DB表裡取了,發現真的是兩條資料。

然後我debug把取到的值換成另一個,就順利通過了。

那問題就出在這個SQL上了。

當然這個是個巧合,如有雷同純屬巧合,而且為啥覺得那句sql有問題,其實就是當時的一個直覺吧。

具體其他debug常用的内容稍後的幾篇文章裡再專門的寫。這裡就先不提了。