1. 程式人生 > >debug 技巧 包括各種場景的debug方法(非常實用)

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過程中,當手快跳過了某條語句,可以直接返回到之前的語句: