SAP-ABAP-基础-如何调试程序,debug模式下的一些按钮
1.找程序名
1.1通过事物代码找程序名称
一般遇到问题都能知道哪个事物代码,已知事务代码可以通过SE93查找对应的程序名称
也可以通过事务代码进入程序之后点击 系统-->状态找到对应的程序
1.2通过后台表搜索查询名称
事务代码SE16N对表TRDIRT限制程序名Z*查询自开发查询,限制标题查询关键字就能查询出哪些程序满足条件,然后再自己一个个排除
1.3进入程序包查找
事务代码SE80,选择package然后查找Z*可以弹出系统存在的包名称,根据描述及模块双击进入开发包
点开程序,就能看到包里面所有的程序,按照描述就能找到程序名称了
2.进入调试模式
2.1进入程序打断点
通过第一步得到程序名称后进入事务代码SE38,输入程序名称点击显示,进入程序代码。如下图 点击左边黄色区域可以打断点
也可以点击按钮打断点,如下图鼠标点击了第八行代码,光标在跳动时候,可以点击上方框住的按钮打断点,第一个是普通断点,与上面一样 ,第二个按钮是远程按钮,用来调试接口
2.2输入/h执行程序进入调试模式
输入框输入/H然后按回车可以直接激活调试模式,再进行的下一步操作都会进入调试模式,比如输入事务代码和点击按钮
2.3调试后台作业
有时候一些SM37的后台作业报错了需要调试可以再进入后台作业清单后,鼠标单击选中需要调试的后台作业,再输入框输入JDBG然后回车,直接就进入了调试界面
2.4.正在运行的程序进入debug 进入sm50 找到需要进入debug的 process 然后点工具栏 管理-->程序-->调试,进入调试界面
2.5 call function in update task的debug 我们在 update task的 function里面设断点的话 正常是进不去debug的 我们在debugger里面 路径 setting-> Display/change debugger settings 这里面会有 update debugging 选上以后 我们运行到 update task的function 后会自动开辟新的session进行debug
2.6 sm13 error message的debug 有些时候我们在程序运行的时候会报一些update的 error message 进入sm13可以找到相应的item 就可以进行debug
2.7 远程RFC的Debug 在RFC所在系统 用RFC连接所用的用户账号去设断点 然后再进行debug就可以了
2.8针对一些弹出窗口的debug 可能有时候我们程序运行过程中会出现一些弹出窗口 没有输入/H的地方,但是我们要debug怎么办? 新建一个txt文档 内容如下, 当我们需要debug某个窗口的时候直接把这个txt文档拖入对应窗口即可实现debug [FUNCTION] Command=/H Title=Debugger Type=SystemCommand
将这个文件拖到弹出式窗口,方法:点windows工具栏上的“桌面”图标,最小化所有打开的窗口,将创建的文件拖到windows工具栏上的弹出式窗口,OK,就进入程序调试了
3.调试界面及按钮介绍
按照上面两步进入调试模式后,界面如下图
3.1如何查看变量
双击变量,在变量区可以看到程序运行到当前行时的变量参数
如果变量是个表和结构,还可以双击进去看看具体每行是什么数据
双击表LT_DATA
双击第一列行那列可以具体看到这一行的所有参数如下图LT_DATA的第一行
点击列表按钮可以alv显示列表
双击某行或者点击左上角按钮可以跳转至具体参数
除了查看表数据也可以双击结构LS_DATA查看结构数据
3.2
从右往左的四个按钮快捷键分别是F5,F6,F7,F8。四个按钮都是让程序往下一步运行
F5是单个步骤,就是一行一行执行,遇到perform,函数,方法,程序都会进入具体的代码
F6是下一行执行,遇到perform,函数,方法,程序都会执行完,不会进去
F7是执行完当前perform,函数,方法,程序。
F8是执行完,到下一个展示界面
以上遇到了断点都会停下来
步骤大小按钮有两种模式,默认是单行模式,单机可以改成子语句模式,这种模式下遇到了一行代码里面有多个子语句时会一个子语句一个的运行,如下图
按钮 可以用来打断点,在执行程序时遇到一些循环太多了,想跳过找个循环,可以用找个临时断点按钮,把断点打到循环下面然后按按钮F7/F8执行到下一个断点
按钮 也算是一种断点,可以设置变量是变量的数值 ,当该变量等于设定的数值时,程序停下来,如下图,我设定了变量LS_DATA-HKONT = 5101140300,当程序在执行循环是会循环到满足该数据然后停下来
按F7/F8到达监控点
3.3断点/监控点页签, 其他页签跳过,点一点就知道是干嘛用的了,这里重点讲一讲断点/监控点页签
创建消息类断点,当程序遇到报错,不知道什么原因,想快速定位位置时可以使用消息类断点
监控点页签,刚刚讲的监控点也可以在这找到,可以在这里删除,或者新建新的监控点
3.4工具服务 按钮位置如下图
功能菜单如下图
列表按钮,以alv展示列表
将列表导出,可选excel等格式
上面导出功能有个的选项,作用是为了下载上载文件的模板,这个按钮可以修改整个内表的数据,用来后续调试
这三个按钮都是查询表中具体数据用的
修改表中列的位置,也可以直接拖动
选中一行只后点击该按钮可以直接修改这行数据
其他按钮都是名字所示功能,可以自己尝试一下
SAP-ABAP-基础-如何调试程序,debug模式下的一些按钮相关推荐
- SAP SD基础知识之销售模式
SAP SD基础知识之销售模式 销售模式有很多种方式,譬如产品销售的渠道(直销.经销.零售等等),SAP系统通过分销渠道(Distribute Channel)来区分产品销售渠道. SAP几种销售模式 ...
- SAP ABAP 基础语法随笔
SAP ABAP 基础笔记随笔 基础 1.move-corresponding 2.IF终止循环 3.CONSTANTS 4.LOOP AT 5.CLEAR & REFRESH 6.获取sel ...
- Debug模式下加载文件,运行程序异常的慢
今天在进行单元测试的时候,debug模式下加载速度很慢,但是run模式下速度很快. 原因:在debug模式下,断点位置不当,解决办法 移除编译器中的所有断点. 转载于:https://www.cnbl ...
- Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...
- Android开发之如何在debug模式下打出release正式包
公司项目中我们公司测试使用测试包测试.因为用到了百度地图导致debug版本的签名只能在我的电脑打debug才可以用,release版本没有问题.所以要解决这个问题. 于是我想着在debug模式下面直接 ...
- 在debug模式下引入一些性能检测工具
我们经常在debug模式下使用一些性能检测工具,例如blockCannary,leakCannary.Stetho等,但是我们release的时候又不需要这些检测工具,通常情况下我们的做法是在buil ...
- 3_Intellij_Idea在Debug模式下如何在控制台输入
有时需要用到Scanner scanner = new Scanner(System.in);来获取控制台输入,如果是Debug模式,我们既需要看变量值,又需要在控制台输入.但是,很多时候Debug模 ...
- 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
[Android]高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法 来源: https://blog.csdn.net/weixin_39370093/article/deta ...
- vs debug模式下显示“变量已被优化掉,因而不可用”的解决办法
在使用Debug模式对程序进行调试的时候,发现变量的值显示被优化掉了,看不到它的值,如下图所示: 解决办法就是,在vs顶部工具栏上,选择工具->属性,打开属性页,然后依次选择配置属性-& ...
最新文章
- table标签修改tr,td标签的行距
- 单身萌妹纸手把手教你用产品思维追女生
- 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 录制电脑屏幕的软件_电脑屏幕录制操作方法,太实用了!
- linux的jar命令不能使用,经常使用的linux下jar包管理命令
- c#解压文件的实例方法
- Linux下搭建Haproxy负载均衡
- linux系统移植篇(一)—— linux系统组成
- 关于Euler-Poisson积分的几种解法
- android 二级联动列表,仿eleme点餐页面
- java 滚动字幕_Java程序 实现图形面板上的字幕滚动效果
- 华东师范大学副校长周傲英:数据赋能,从数据库到数据中台
- 贴吧怎么发帖,发防删图出现审核怎么办?
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- 总结:MUSTer中的keypoint matching以及利用RANSAC去除outliers
- 如何利用XGen制作头发,发片-笔记
- JVM 优化实操 - 内存分配与回收策略
- 计算机网络连接设备不见了,计算机本地连接找不到了(不见了)如何修复
- TX Text Control 30.0
- matlab 三维时频幅值图