ABAP debug 方法.

ABAP 中的斷點分爲靜態和動態兩種.
一. 靜態斷點(Static Breakpoints) 是程序員在程序中用代碼設定的, 當程序運行到該斷點時,會進入調試狀態.
語法:
break-point.
也可以將其標號以明確其位置.
break-point 1.
...
break-point 2.
當然也可以針對具體某個用戶設定斷定.
break username.

二. 動態斷點.
在ABAP編輯器中有兩個按鈕用於設置斷點, 第一個(set/deletesession breakpoint)用於設置臨時斷點, 該斷點只有在當前Session 纔有效,若退出, 該斷點則被自動取消. 
第二個(set/delete external breakpoint)用於設置外部斷點, 該斷點在當前 Session 有效,但在SAP退出後,重新登錄運行程序時不會再執行該斷點功能, 而是在原來的代碼處留下一個標籤, 必須手動刪除,而且也有時間的限制.

三. 調試方法.
F5 爲單步執行, 程序逐步執行, 若遇到子程序或函數, 則會轉入該函數中.
F6 只在本程序中單步執行, 遇到子程序或函數時會直接執行, 而不進入函數內部.
F7 會一次性執行完當前代碼所在的過程, 如子程序和函數, 若在主程序中, 則直接執行完該程序.
F8 則是一次性執行完全部程序, 直到遇到下一個斷點時才終止.
Watchpoint 按鈕.
用於設置在程序執行中遇到某個條件時才進入 Debug 狀態.


輸入一個要觀察的變量和值.


設置好斷點後, 按F7 或F8 程序會一直執行到Watchpoint條件滿足的地方.

四. 查看程序執行中的參數.
在程序Debug狀態下能夠查看當前程序中的所有參數的值.
而且還可以更改這些參數的值.
在內表數據瀏覽窗口的右側還有一個工具欄, 可以通過該工具實現對內表數據的控制, 修改, 刪除, 下載.
[轉載]ABAP <wbr>debug <wbr>方法.

五. 實現調試功能的其它方法.
上面講的是最基本的一些Debug方法.
現在再講些其它一些常用方法.
1. background job 的debug方法.
輸入SM37, 找出想要Debug的job, 在job前打勾, 已經完成或是Release都可以. 在輸入欄輸入JDBG.
進入debug.
[轉載]ABAP <wbr>debug <wbr>方法.

2. 在程序運行界面進入debug.
在程序的運行界面, 控制框輸入 /h
[轉載]ABAP <wbr>debug <wbr>方法.

3. 正在運行的程序進入debug.
輸入SM50, 找出正在運行的程序, 然後進入Debug.
[轉載]ABAP <wbr>debug <wbr>方法.

4. Call Function in update 的 debug.
我們在 update task的 function裏面設斷點的話, 正常是進不去debug的.
我們在 debugger 裏面路徑 setting->Display/changedebugger settings.
這裏面會有 update debugging 選上以後, 我們運行到update task的 function後會自動開闢新的 session 進行debug.
[轉載]ABAP <wbr>debug <wbr>方法.

5. sm13 error message 的 debug.
有些時候我們在程序運行的時候會報一些update的 error message.
進入 sm13 可以找到相應的item 就可以進行 debug.
[轉載]ABAP <wbr>debug <wbr>方法.
雙擊我需要的.
[轉載]ABAP <wbr>debug <wbr>方法.

6. RFC 的debug.
在RFC所在的系統, 用RFC連接所用的用戶賬號去設斷點.
然後再進行debug.
[轉載]ABAP <wbr>debug <wbr>方法.

7. 針對一些彈出窗口的debug.
可能有時候我們程序運行過程中會出現一些彈出窗口, 沒有輸入 /h 的地方, 但我們想 debug ,這時怎麼辦?
新建一個 txt 文檔, 內容如下: 當我們需要 debug 某個窗口的時候直接把它個 txt 文檔插入對應窗口即可實現debug.
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand

8. 爲 debug 命令創建快捷鍵.
[轉載]ABAP <wbr>debug <wbr>方法.

[轉載]ABAP <wbr>debug <wbr>方法.
實際與第7個相同.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章