SAPDebug开发手册V10Word文档格式.docx
《SAPDebug开发手册V10Word文档格式.docx》由会员分享,可在线阅读,更多相关《SAPDebug开发手册V10Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
[SAP开发技术指南
-
Debug技术点]
2012年02月23日
本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属所有,受到有关产权及版权法保护。
任何个人、机构未经的书面授权许可,不得以任何方式复制或引用本文件的任何片段
修改记录
制定日期
生效日期
制定/修订内容摘要
页数
版本
拟稿
审查
批准
2012-02-24
创建
9
目录
1引言4
1.1目的及范围4
1.2参考资料4
1.3定义4
1.4文档结构4
2常用的Debug方法4
2.1直接在程序中设断点4
2.1.1SessionBreakpoint会话断点4
2.1.2ExternalBreakpoint外部断点5
2.1.3调试按钮5
2.2Debug后台运行的Job8
2.3在程序的运行界面进入Debug11
2.3.1正在运行的程序进入Debug12
1引言
Debug是程序调试的重要方法
1.1目的及范围
本文档主要介绍在SAP系统中,Debug(调试)程序的几种常用的方法,可适用于ABAP开发人员,分析人员使用
1.2参考资料
•
1.3定义
1.4文档结构
文档的各章节介绍的内容如下:
∙第2节介绍几种Debug的常用方法
∙第3节具体案例
2常用的Debug方法
以下将讲解SAP中各种Debug程序的方法
2.1直接在程序中设断点
2.1.1SessionBreakpoint会话断点
点击图中的
或者点击右键,选择SetSessionBreakpoint,在代码中的光标行打上会话内断点,如下图所示
会话断点只在该Session内有效,假期此时另打开一个会话,则该断点不会影响到新建的会话内的同一个程序。
2.1.2ExternalBreakpoint外部断点
或者点击右键,选择SetExternalBreakpoint,在代码中光标行打上外部断点,如下图所示:
外部断点的适用范围要比会话断点大,它不只对一个Session起作用,同一个用户在同一台电脑上打开的Session都会受其影响(同一用户在其它电脑上开的Session可以看到该外部断点,但是外部断点不起作用)
不同电脑上同一用户打开的Session中,看到的不起作用的外部断点,呈现灰色。
2.1.3调试按钮
在Debug的过程中,界面上调试按钮主要有如下图所示的几个:
左边四个,自左到右快捷键分别为:
F5、F6、F7、F8
F5:
逐步执行程序,当遇到调用其它程序时,会进入调用程序;
F6:
逐步执行程序,但不会进入下一级调用程序;
F7:
跳出当前程序,跳回上一级;
F8:
执行程序到断点或执行到末尾;
按钮
是用来在Debug过程中再添加断点的,它的功能很强大,可用于选取关键字、FM、方法、FORM,甚至代码段等,点击后的界面如下:
例:
在所有LOOP循环处打断点,则如下操作:
点击确定,则程序中所有出现LOOP的地方都被打上了断点,效果如下所示:
想要删除这一批断点的话,选择Breakpoint页签,显示如下内容:
选择LOOP行,点删除
,就可以把LOOP循环上的断点去掉。
是用来跟踪变量变化的,按下该按钮会弹出如下对话框:
在Variable中输入变量名,以输入itab为例
点击确定,此时按F8,Debug的程序会停在变量itab的值(内容)发生变化的代码的下一行,即定位到变量变化后的代码行。
2.2Debug后台运行的Job
从后台运行程序ZCXT_WRITE_INPUT
代码如下:
*&
---------------------------------------------------------------------*
Report
ZCXT_WRITE_INPUT
REPORT
ZCXT_WRITE_INPUT.
parameters:
input
type
char30.
write:
'
输入内容为:
input.
按F8执行程序,如下图所示:
在输入框内输入INPUT,点击Program,选择ExecuteinBackground如下所示。
从后台运行程序。
程序执行成功,结果如下:
此时进入SM37,找到程序执行日志,如下所示:
按F8,继续执行:
选择Job,然后在命令框输入jdbg,进行Debug,这样Debug的好处在于,Debug的时候,程序中的输入参数(数据)与程序后台执行的时候是一致的,假如程序当时出现了错误,就可以通过此种方法查找问题所在。
按回车开始进行Debug,
可以看出,这样Debug的时候,参数的值是当时后台运行时的值,即ABCD
2.3在程序的运行界面进入Debug
在程序的控制框输入‘/H’,运行程序的时候就会进入Debug
这种Debug方法在Debug屏幕的时候经常被使用,因为有时候不知道要调试的屏幕的代码在哪是,使用这种方法,可以快速定位到屏幕的PBO和PAI代码中,对于调试屏幕很便利。
如果你在进行某个操作的时候出现错误,你想找到为什么会错误,就需要这段命令
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
把上面这句话保存为debug.txt文件。
当你点击某个动作如”execute(f8)“之前,把这个debug.txt文件拖到需要执行的会话的标题栏,可以发现鼠标上显示可以放入。
放入之后,再点击execute。
就会进入debug界面。
2.3.1正在运行的程序进入Debug
进入sm50找到需要进入Debug的Process,然后点击工具栏Program/Session->
Programdebugging,即可进入Debug。