ABAP斷點調試


調試鍵

image254

image255

F8:跳過后面所有斷點,程序執行完

 

外部、會話、調試斷點

調試斷點-debug時打的斷點,程序遠程完后就會消失

會話斷點-程序運行前通過image257會話斷點按鈕打的斷點,在同一登錄會話不同窗口都有效,用戶注銷后消失

外部斷點-程序運行前通過image258外部斷點按鈕打的斷點,用戶注銷后再登錄還是有效,但只針對同一用戶有效

image259

image260

靜態斷點

BREAK 'sapecc'."會在用戶SAPECC運行程序時暫停

BREAK-POINT."所有的用戶在運行程序時都會暫停

 

注:上面兩個語句需要在程序代碼里寫死,是否開啟調式需要修改代碼,然后需要重傳測試機與生產機,我們可以通過下面靈活的方式來實現:

調用  C160_BREAK_POINT

call function  'C160_BREAK_POINT'.

然后在su01里對當前賬戶做如下設置:

這樣這個賬號 在運行加有上面函數的程序是 會斷點進去。

這種方式只需要在su01里面將esp 這個參數值改成 不等於 ‘X’ 那么該用戶在運行程序的時候就不會有斷點存在。

語句斷點

語句斷點:在運行到設置的語句位置時會停下來

注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置

image263

image264

子過程(Form)斷點

Form斷點:在運行到指定的Form位置時會停下來

注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置

image265

image266

函數斷點

函數斷點:在運行到指定的函數時會停下來

注:需要在ABAP調試模式已啟動的情況下,才能進行語句斷點的設置

image267

類方法斷點

運行時會在指定類的方法中停下來

image268

異常斷點

運行時拋出異常時會停下來

image269

基於類異常與老式異常都可以

消息斷點

拋出某種消息時會停下來

image270

條件斷點

當滿足一定條件時,程序暫停,並跳轉到相應代碼行:

 

如果你對字段MATNR設置觀察點(條件matnr = '1234'), 那么程序流將會在字段MATNR改變並且值等於'1234'的時候停止。

如果在設置觀察點時沒有設定條件,那么只要字段MATNR的值改變時,程序流將會停止

image271

 

image272

 

斷點(包括條件斷點)的管理可以在“Break-Watchpoints”布局視圖中查看:

 

image273

通過“/H”命令啟動調試

在程序(或事務碼)執行前,在SAP工具欄命令行中輸入“/H”(實質上輸入的是OK-Code),執行程序后將自動進入調試狀態,這對於調試SAP系統程序的有很大的幫助

image286

輸入“/h”回車后,再輸入事務碼,如SM30,則會進自調試模式:

image287

通過“/H”命令文本方式啟動調試

直接輸入“/H”的方法要求必須是在命令輸入框可輸入狀態時才能使用,若遇到對話框屏幕時,是無法輸入“/H”命令的,此時可能通過創建好的“/H”快捷方式來啟動調試。

 

如下圖所示紅色框中的預覽按扭,如果你希望在點擊這個按扭的時候進入debug模式,此時彈對話框是模式窗口,命令行不能繼續僌,如現在要進行調試,你該怎么做呢?

image288

 

新創建一個文本文件,並在文件中輸入如下內容:

[Function]

Command=/H

Type=SystemCommand

image289

使用本文檔很簡單,將本文件拖動到窗口中松手,並再執行你想要的操作,這樣就會進入調試模式了。

 

image290


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM