調試鍵
F8:跳過后面所有斷點,程序執行完
外部、會話、調試斷點
會話斷點-程序運行前通過會話斷點按鈕打的斷點,在同一登錄會話不同窗口都有效,用戶注銷后消失
外部斷點-程序運行前通過外部斷點按鈕打的斷點,用戶注銷后再登錄還是有效,但只針對同一用戶有效
靜態斷點
BREAK 'sapecc'."會在用戶SAPECC運行程序時暫停
BREAK-POINT."所有的用戶在運行程序時都會暫停
注:上面兩個語句需要在程序代碼里寫死,是否開啟調式需要修改代碼,然后需要重傳測試機與生產機,我們可以通過下面靈活的方式來實現:
調用 C160_BREAK_POINT
call function 'C160_BREAK_POINT'.
然后在su01里對當前賬戶做如下設置:
這樣這個賬號 在運行加有上面函數的程序是 會斷點進去。
這種方式只需要在su01里面將esp 這個參數值改成 不等於 ‘X’ 那么該用戶在運行程序的時候就不會有斷點存在。
語句斷點
語句斷點:在運行到設置的語句位置時會停下來
注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置
子過程(Form)斷點
Form斷點:在運行到指定的Form位置時會停下來
注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置
函數斷點
函數斷點:在運行到指定的函數時會停下來
注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置
類方法斷點
運行時會在指定類的方法中停下來
異常斷點
運行時拋出異常時會停下來
基於類異常與老式異常都可以
消息斷點
拋出某種消息時會停下來
條件斷點
當滿足一定條件時,程序暫停,並跳轉到相應代碼行:
如果你對字段MATNR設置觀察點(條件matnr = '1234'), 那么程序流將會在字段MATNR改變並且值等於'1234'的時候停止。
如果在設置觀察點時沒有設定條件,那么只要字段MATNR的值改變時,程序流將會停止:
斷點(包括條件斷點)的管理可以在“Break-Watchpoints”布局視圖中查看:
通過“/H”命令啟動調試
在程序(或事務碼)執行前,在SAP工具欄命令行中輸入“/H”(實質上輸入的是OK-Code),執行程序后將自動進入調試狀態,這對於調試SAP系統程序的有很大的幫助
輸入“/h”回車后,再輸入事務碼,如SM30,則會進自調試模式:
通過“/H”命令文本方式啟動調試
直接輸入“/H”的方法要求必須是在命令輸入框可輸入狀態時才能使用,若遇到對話框屏幕時,是無法輸入“/H”命令的,此時可能通過創建好的“/H”快捷方式來啟動調試。
如下圖所示紅色框中的預覽按扭,如果你希望在點擊這個按扭的時候進入debug模式,此時彈對話框是模式窗口,命令行不能繼續僌,如現在要進行調試,你該怎么做呢?
新創建一個文本文件,並在文件中輸入如下內容:
Command=/H
Type=SystemCommand
使用本文檔很簡單,將本文件拖動到窗口中松手,並再執行你想要的操作,這樣就會進入調試模式了。