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

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

      




你可能感兴趣的:(ABAP经验分享)