首先弄清楚ABAP Classic调试器和新调试器的区别:

Classic debugger:

(1) Static breakpoint

a. BREAK-POINT : non-user specific
b. BREAK user name user specific

(2) Dynamic breakpoint

New debugger:

(1)Static breakpoint
(2)Dynamic breakpoint
a. session breakpoint
b. external breakpoint

Session 断点和External断点的区别

(1) Session BP is only visible in all external sessions belonging to the same user session, while External BP is visible across all user sessions. Therefore, only External BP is valid for BSP / Webdynpro debugging.

(2) When a user logs off, Session BP will be deleted while external BP persists.

By setting this flag, if external session A is running, and in external session B ( A and B belongs to the same user session ) you set a session breakpoint in the program source code, the BP will be triggered immediately .

ABAP独占断点(Exclusive Breakpoint)和非独占断点的区别

下图是非独占断点:

下图是独占断点:

Exclusive mode means the application to be analyzed exclusively occupies a work process of the application server during debugging. If all exclusive debug work processes are occupied, the Debugger is switched to non-exclusive mode. (rdisp/wpdbug_max_no )

Limitation for non-exclusive mode:

Due to technical limitations in ABAP debugger implementation, there are following limitations when debugger is run under non-exclusive mode:
(1) No possible to debug statement between SELECT and ENDSELECT. In this case, program terminates with this error:

(2) No possible for conversion / field exit.
(3) No possible for debugging in production system, program terminates with exception DEBUGGING_NOT_POSSIBLE.

ABAP调试器里的一些指标该如何阅读?

考虑下面这段最简单的ABAP代码:

调试器里查看A1这个类型为内表的变量:这里的[2×1(8)]是什么意思?

2: table row number
1: table column number
8: byte length of table row

The time for which the new Debugger is active is determined by the profile parameter rdisp/max_debug_lazy_time – which is set to 600 seconds in the standard version. After this time space has elapsed, the Debugger process is exited automatically and control is passed back to the application.

一些小技巧:how to debug background RFC?

解决方案:使用事务码sbgrfcmon

小技巧2:如何调试update task

小技巧3:如何使用ABAP观察点 Watch point

练习:我们进入事务码SE09时,会观察到User字段会自动被填充成当前登录用户。如何通过观察点快速找到是哪一行代码赋的值?

When we use SE09, how can we find the logic of the User? When and where is this field filled? What does content come from?
Debugging step by step will be very time-consuming.

小技巧4:使用ABAP检查组 Check group

小技巧5:事务码SRDEBUG

小技巧6:调试脚本

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP技术专家的ABAP调试器培训材料相关推荐

  1. 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍

    本文介绍 SAPGUI 里 ABAP 调试器的用法.我们编写的 ABAP 程序,如果执行遇到问题,可以使用 ABAP 调试器,采用单步排错的方式进行调试. 我们使用下面这个简单的 ABAP 程序作为例 ...

  2. 一个ABAP调试器里查看类的静态属性的小技巧

    我们知道,像如图一这种类的静态属性,因为不属于类的实例所有,因此调试到这个类的方法内部时,只能通过图二演示的两种方式在调试器显示该属性的值.而一旦调试到该类方法的外部,通常就只能通过"类名= ...

  3. 关于 ABAP 调试器里的 16 进制值的显示问题

    在调试器里查看字符常量,小写的字母 a 的 16 进制值,即 ASCII 编码里符号 a 的值:61 高位再补上 00 类型 x 的变量,其初始值为 16 进制的 00(1个字节): 6100 的 1 ...

  4. Jerry Wang的ABAP Development Tool培训材料 - SAP 引入ADT的初衷

  5. 如何从 ABAP 调试器里提取某个内表的内容用于单元测试

    假设我想把内表 gt_tstct 里的所有记录,全部提取出来,用于 ABAP 单元测试里: 我们可以使用 SAP S/4HANA 里自带的 debugger script,把内表的数据以文本的形式提取 ...

  6. 利用ABAP调试器脚本修改数据库表的值

    注1: 这种方法不同于网上流传的在debugger里修改fcode的那种solution 注2:禁止用于生产系统!!! 例如默认情况下,需要直接在dev system的SE16里修改某些table e ...

  7. ABAP调试器脚本的一个具体应用

    例如默认情况下,需要直接在dev system的SE16里修改某些table entry的value,但是 toolbar里看不见edit icon: 因为这个设置: solution /h 打开de ...

  8. 利用ABAP调试模式修改SE16里数据库表的内容

    比如CRM物料主数据的表:COMM_PRODUCT,在SE16里只允许浏览数据,但不能修改: 如果当前的用户有调试debug权限,可以通过下面的方法进入编辑模式从而能够修改表的内容: (1) 进入待修 ...

  9. SAP ABAP PA certification 培训笔记 part 4

    SAP ABAP PA certification 培训笔记 part 4 [@more@] 课前复习 Table key 由三部分构成 1. Components:组成key的字段 2. Seque ...

最新文章

  1. 深入讨论PHP5对象复制技术
  2. 【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )
  3. glBegin()和glEnd()之间可调用的函数
  4. Gridview数据控件的七种字段类型
  5. RabbitMQ 的安装----windows环境
  6. SpringBoot-@ComponentScan、@Import
  7. Adonis结果P值小于0.05,一定代表两组样品物种构成差异显著吗?
  8. java 一一对应的替换_SpringMVC的Controller是如何将参数和前端传来的数据一一对应的...
  9. Zigbee 学习计划——第2天——熟悉CC2530的基本例程
  10. 一图全解10个影响人类社会的算法
  11. CSS常见面试题(持续更新)
  12. 国网天津电缆公司带电检测典型案例分析
  13. 王者荣耀服务器微信怎么和电脑,[技术贴]微信账号与游戏账号独立的终极版教程...
  14. MIT6.824 Lab1 MapReduce
  15. manager objects is not callable(管理器对象不可调用)
  16. 8421码、5421码、2421码与余三码
  17. 视音频编码要迎来一拨新高潮了
  18. 黑客攻防从入门到精通(一)
  19. 转载-慕容小匹夫细说Unity3D(七)——从Draw Call到GC
  20. as400 编程语言c,AS400开发入门.doc

热门文章

  1. 源码与tarball套件管理程序笔记摘录
  2. 建模就用Rose的时代宣告结束
  3. 关于 android listview 加载数据错位(错乱)问题
  4. 初识图机器学习(part4)--图表示学习1.0
  5. 初识Mysql(part7)--我需要知道的5个关于正则的小知识
  6. 一种常见的关于率指标的错误分析思路
  7. 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头
  8. 如何将 SAP 电商云 Spartacus UI 部署到 tomcat 上运行
  9. OData metadata 定义中,entity type key 的作用是什么
  10. SAP Spartacus 事件服务 Event Service 使用介绍