ABAP 调试器 (★★)
#debugging #analysis-tools
旧版 vs 新版调试器
| 特性 |
旧版调试器 |
新版调试器 |
| 架构 |
在同一会话中运行 |
在独立的外部会话中运行 |
| UI |
固定布局 |
自由可配置,最多 9 个桌面 |
| 设置 |
不保留 |
跨会话保留 |
| 调试中调试 |
不可能 |
可能(调试器可被调试) |
| 可用性 |
遗留 |
NW 7.0 EhP1 起默认 |
启动调试器
| 方法 |
操作 |
| 命令字段 |
输入 /H 并按回车 |
| 程序上下文菜单 |
右键 → 创建断点 |
| 系统菜单 |
系统 → 实用程序 → 调试 ABAP |
| 在代码中 |
BREAK-POINT 或 BREAK username |
| 从 ABAP 编辑器 |
设置断点(外部或会话) |
断点
类型
| 类型 |
描述 |
持久性 |
| 静态 |
硬编码的 BREAK-POINT 或 BREAK 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 |
| “新旧调试器关键区别” |
新版在独立的外部会话中运行 |
相关笔记
- 检查点与断言 - 断点、断言、日志点
- 运行时分析 - SE30 性能测量
- 代码检查器 - 静态代码分析
- SQL 跟踪 - SQL 语句跟踪
- [[_posts/SAP_MM/SCM500_采购流程/00-仪表盘/学习地图]] - 学习地图