您的位置:首页 > 其它

debug 技巧 包括各种场景的debug方法(非常实用)

2013-10-11 17:59 429 查看
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过程中,当手快跳过了某条语句,可以直接返回到之前的语句:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: