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过程中,当手快跳过了某条语句,可以直接返回到之前的语句:
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过程中,当手快跳过了某条语句,可以直接返回到之前的语句:
相关文章推荐
- C++复制构造函数和赋值符的区别
- 随手小代码——约瑟夫出圈问题/约瑟夫环
- JS实现 页面提交防刷新等待提示
- 随手小代码——约瑟夫出圈问题/约瑟夫环
- nginx 项目模块整理shell
- 【Nginx】基本配置入门
- Python 3.x 让主板蜂鸣
- JSP经验谈之一
- MySQL(GNU/Linux)从5.5迁移到5.1遇到的问题,error 37
- hive的数据类型和数据模型
- webVIew 链接内容在当前加载
- ArchLinux xfce4桌面下可移动设备的自动挂载
- Rhel上安装oracle的配置参数解析,pam,limits,profile
- 拷贝构造函数与赋值构造函数(operator=)的区别
- FlexViewer3.4中CompositeSymbol复合型标注中添加图片与文字后第一次点击后不显示图片,二次点击后才显示
- Codeforces Round #157 (Div. 1) B. Little Elephant and Elections
- Windows phone 8 推送
- POJ 3732 —— kruskal
- Nginx 安装
- hive介绍