码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP断点调试

时间:2015-02-16 10:08:07      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
声明:原创作品转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun并以超链接形式标明文章原始出处否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4293693.html

调试键

技术分享

技术分享

F8:跳过后面所有断点,程序执行完

 

外部、会话、调试断点

调试断点-debug时打的断点,程序远程完后就会消失

会话断点-程序运行前通过技术分享会话断点按钮打的断点,在同一登录会话不同窗口都有效,用户注销后消失

外部断点-程序运行前通过技术分享外部断点按钮打的断点,用户注销后再登录还是有效,但只针对同一用户有效

技术分享

技术分享

静态断点

BREAK ‘sapecc‘."会在用户SAPECC运行程序时暂停

BREAK-POINT."所有的用户在运行程序时都会暂停

 

注:上面两个语句需要在程序代码里写死,是否开启调式需要修改代码,然后需要重传测试机与生产机,我们可以通过下面灵活的方式来实现:

调用  C160_BREAK_POINT

call function  ‘C160_BREAK_POINT‘.

然后在su01里对当前账户做如下设置:

技术分享

这样这个账号 在运行加有上面函数的程序是 会断点进去。

这种方式只需要在su01里面将esp 这个参数值改成 不等于 ‘X’ 那么该用户在运行程序的时候就不会有断点存在。

语句断点

语句断点:在运行到设置的语句位置时会停下来

注:需要在ABAP调试模式已启动的情况下,才能进行语句断点的设置

技术分享

技术分享

子过程(Form)断点

Form断点:在运行到指定的Form位置时会停下来

注:需要在ABAP调试模式已启动的情况下,才能进行语句断点的设置

技术分享

技术分享

函数断点

函数断点:在运行到指定的函数时会停下来

注:需要在ABAP调试模式已启动的情况下,才能进行语句断点的设置

技术分享

类方法断点

运行时会在指定类的方法中停下来

技术分享

异常断点

运行时抛出异常时会停下来

技术分享

基于类异常与老式异常都可以

消息断点

抛出某种消息时会停下来

技术分享

条件断点

当满足一定条件时,程序暂停,并跳转到相应代码行:

 

如果你对字段MATNR设置观察点(条件matnr = ‘1234‘), 那么程序流将会在字段MATNR改变并且值等于‘1234‘的时候停止。

如果在设置观察点时没有设定条件,那么只要字段MATNR的值改变时,程序流将会停止

技术分享

 

技术分享

 

断点(包括条件断点)的管理可以在“Break-Watchpoints”布局视图中查看:

 

技术分享

通过“/H”命令启动调试

在程序(或事务码)执行前,在SAP工具栏命令行中输入“/H”(实质上输入的是OK-Code),执行程序后将自动进入调试状态,这对于调试SAP系统程序的有很大的帮助

技术分享

输入“/h”回车后,再输入事务码,如SM30,则会进自调试模式:

技术分享

通过“/H”命令文本方式启动调试

直接输入“/H”的方法要求必须是在命令输入框可输入状态时才能使用,若遇到对话框屏幕时,是无法输入“/H”命令的,此时可能通过创建好的“/H”快捷方式来启动调试。

 

如下图所示红色框中的预览按扭,如果你希望在点击这个按扭的时候进入debug模式,此时弹对话框是模式窗口,命令行不能继续僌,如现在要进行调试,你该怎么做呢?

技术分享

 

新创建一个文本文件,并在文件中输入如下内容:

[Function]

Command=/H

Type=SystemCommand

技术分享

使用本文档很简单,将本文件拖动到窗口中松手,并再执行你想要的操作,这样就会进入调试模式了。

 

技术分享

ABAP断点调试

标签:

原文地址:http://www.cnblogs.com/jiangzhengjun/p/4293693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!