ABAP 调试器

ABAP 调试器 (★★)

#debugging #analysis-tools

旧版 vs 新版调试器

特性 旧版调试器 新版调试器
架构 在同一会话中运行 独立的外部会话中运行
UI 固定布局 自由可配置,最多 9 个桌面
设置 不保留 跨会话保留
调试中调试 不可能 可能(调试器可被调试)
可用性 遗留 NW 7.0 EhP1 起默认
💡新版调试器在独立的外部会话中运行,这意味着它不阻塞主会话的内存且可独立配置。

启动调试器

方法 操作
命令字段 输入 /H 并按回车
程序上下文菜单 右键 → 创建断点
系统菜单 系统 → 实用程序 → 调试 ABAP
在代码中 BREAK-POINTBREAK username
从 ABAP 编辑器 设置断点(外部或会话)

断点

类型

类型 描述 持久性
静态 硬编码的 BREAK-POINTBREAK user 在源代码中
动态 通过调试器 UI 设置 仅当前会话
语句 在特定 ABAP 语句处中断 仅当前会话
函数模块 FM 被调用时中断 仅当前会话
方法 方法被调用时中断 仅当前会话
异常 异常被抛出时中断 仅当前会话
系统断点 通过 SAAB 设置(事务级别) 通过检查点组

断点管理

1
2
3
4
调试器 → 断点选项卡
+ 创建:语句、函数、方法、异常
+ 删除单个或全部
+ 激活 / 停用
📌动态断点(在调试器中设置)仅存在于当前会话。静态断点(在代码中)持久存在但传输前必须移除。

观察点

特性 详情
用途 当字段内容改变时中断
最大数量 最多同时 10 个观察点
链接 多个观察点之间 AND / OR
范围 可限制到特定程序或 FORM
触发 当被观察的字段值改变时
1
2
3
4
观察点配置:
变量: lv_status
程序: ZMY_PROGRAM " 可选范围
条件: lv_status = 'X' " 可选条件
💡观察点在你不知道字段在哪里被更改,只需要找到更改点时很有用。

调试器桌面

桌面 内容
桌面 1(默认) 变量、源代码
桌面 2-9 用户可配置
可用工具 变量显示、表显示、对象显示、内存分析

可用工具

工具 用途
变量 显示局部/全局变量
结构 展开和导航结构
内表 浏览表内容
对象 检查对象属性
内存 分析内存消耗

内存使用显示

视图 描述
总计 程序使用的总内存
排序列表 按大小排序的内存消耗者
SCC(共享对象更改区) 共享内存使用
💡使用内存显示来识别调试期间哪些内表或对象消耗最多内存。

考试/测试模式

关键词 / 短语 答案
“新调试器架构” 在独立的外部会话中运行
“最大观察点数” 10 个(支持 AND/OR 链接)
“观察点触发条件” 字段内容改变
“动态 vs 静态断点” 动态 = 仅会话内;静态 = 在源代码中
“从命令字段启动调试器” 输入 /H 并按回车
“调试器桌面最大数” 9 个(自由可配置)
“内存显示视图” 总计、排序列表、SCC
“新旧调试器关键区别” 新版在独立的外部会话中运行

相关笔记