abap debug中設置watchpoint
DEBUG 小技巧
現在提供兩個debug的小技巧去查找SAP信息的代碼。
土辦法:debug一直跟下去,一不小心跑過頭,繼續重來。:(
小技巧:
1) /H 進入debug模式,選擇菜單欄 Breakpoints->Breakpoint at->Breakpoint at Statement , 輸入 message 關鍵字。程序執行到message的語句就會停下了。
2)我個人認為比較好用的辦法。
設置 Watch point, sy-msgid 等於 你的信息號碼。再去debug,一步到位。
拿一個實例來說:先將文件寫入服務器,然后再從應用服務器上讀取,len一次讀取的字節長度,如果是IN TEXT MODE的話則是字符長度。
*&---------------------------------------------------------------------*
*& Report ZTCXHTEST_READ_FILE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTCXHTEST_READ_FILE.
DATA: fname(60) TYPE c VALUE 'samplefile2.txt',
text1(12) TYPE c VALUE 'abcdefghijkl',
text2(5) TYPE c,
len TYPE i.
OPEN DATASET fname FOR OUTPUT IN BINARY MODE.
TRANSFER text1 TO fname.
CLOSE DATASET fname.
OPEN DATASET fname FOR INPUT IN BINARY MODE.
DO.
READ DATASET fname INTO text2 LENGTH len.
WRITE: / sy-subrc, text2, len.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET fname.
設置斷點;
設置watchpoint
這里Variable填入你要觀察的變量名len,然后點擊NO Additional Condition按鈕
在Free Condition Entry輸入框中填入break條件:len = 4,保存,這樣按F8執行以后,當len = 4時程序就停在了下一行代碼處。如下圖所示:
*&---------------------------------------------------------------------*
*& Report ZTCXHTEST_READ_FILE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTCXHTEST_READ_FILE.
DATA: fname(60) TYPE c VALUE 'samplefile2.txt',
text1(12) TYPE c VALUE 'abcdefghijkl',
text2(5) TYPE c,
len TYPE i.
OPEN DATASET fname FOR OUTPUT IN BINARY MODE.
TRANSFER text1 TO fname.
CLOSE DATASET fname.
OPEN DATASET fname FOR INPUT IN BINARY MODE.
DO.
READ DATASET fname INTO text2 LENGTH len.
WRITE: / sy-subrc, text2, len.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET fname.
設置斷點;

設置watchpoint

這里Variable填入你要觀察的變量名len,然后點擊NO Additional Condition按鈕
在Free Condition Entry輸入框中填入break條件:len = 4,保存,這樣按F8執行以后,當len = 4時程序就停在了下一行代碼處。如下圖所示:

Come from:
http://caoxuhuan.iteye.com/blog/938944