1、程序中直接设定断点 -- 一般会加上执行用户的if 判断
if sy-uname = 'ZTEST'.
break-point.
endif.
2、job 的debug
将执行程序设置为后台执行,SM37选择需要debug的程序,选中需要debug的job前面的复选框,然后再事务输入框中输入: JDBG,回车。
3、程序运行界面 debug
/H
4、正在运行的程序debug,再SM50或者SM66,选择需要debug的process,然后点击工具栏: Program/Mode -> program -> Debugging进入
5、 update task 的RFC的debug
update 的function 和 perform .... in commit.的程序块直接debug是不能进入的,第一步/H,然后设置update debugging模式
6、sm13 error message 的debug
某些时候会有update error,进入sm13可以找到相应的item 就可以进行debug,双击我们需要的debug进去
7、RFC的Debug
在RFC所在系统 用RFC连接所用的用户账号去设断点 然后再进行debug就可以了,
注:这个RFC账号一般权限很大
偶尔的时候会出现进入不了debug模式中,这时候需要写一个死循环,然后再sm50或者sm66中进行debug
此时如果是
DO. WAIT UP FOR 1 SECONDS. ENDDO. --这个死循环好像不行,不能再SM66中找到这个进程。
8、弹出框的debug,弹出框一般没办法输入/H,但是又不想在执行程序初期就打上断点。
新建一个txt文档,输入
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
将这个文件拖到弹出式窗口.