debug是ABAP开发里面非常重要的一项技能,下面介绍一些小的技巧,可以提高debug的效率:
1、通过对SE16 debug修改某条数据(这个方法比较靠谱):(这个方法和SM30一样只能修改非key值的字段)
查看到对应SO单号数据后,运行事务码‘/h’进去debug状态,然后双击对应的数据行。
但是这个方法我一直都找不到那段代码,经常是每次进去哦都市不同的代码,很难找到对应的代码。然后我就根据以往的成功经验,找到了对应的程序: LSETBF01 在里面的代码设定断点。
。
然后去run se16,但是不是双击,是点击查看:
就可以进入代码部分:
2、smartforms的debug:
可以通过FM: SSF_FUNCTION_MODULE_NAME设断点,然后通过打印预览进入之后可以准确的查看到使用的是那个smartforms(有时通过nace查看的不一定就是打印使用的form)
3、background job 的debug:
在SM37里面选中要debug的cancel job,然后输入JDBG,就可以进入debug。
4、根据报错的message进行debug的方式:
第一种是,通过对所有的message设断点进行debug。
第二种是,对message设watchpoint,但是这个方式如果message是嵌套程序里面的话,可能到不了。
第三种是,在debug里面按F9直接对message id和message no进行设断点。
5、设置watchpoint,就是前面说的,watchpoint只有对当前程序的变量才可以设置,不可以对call的function里面的变量进行设watchpoint。但是我们可以利用SLAD实现这个功能。
6、条件断点,例如在一个内表数据非常大的时候,而我需要的数据是1000条里面的第670条,在loop里面就可以设置一个条件断点:
然后直接F8就进入第18条数据。
7、当if条件很多关系关键字的时候,断点对于多条件的时候使用step size:
8、对弹出的窗口进行debug:
保存到桌面
打开这个弹出窗口的界面之后,然后在桌面双击刚才保存的,就可以进入相应的command(刚才的是debug)界面。
9、debug过程中,当手快跳过了某条语句,可以直接返回到之前的语句:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19955.html