2020-09-05 07:26发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在ABAP调试器中,我们可以通过" Dominator Tree"(内存分析工具)查看保存在内存中的数据。
是否有办法将这些数据放入内部表中(类似于通过cl_abap_compiler-> get_all_refs获取调用堆栈)?
预先感谢
PeteA
好的,我自己找到了答案。
这是两个代码 片段,从调试器的系统区域屏幕工具中获取PROGRAMS和ITAB-HEADS数据。
。
*&------ -------------------------------------------------- ----&* *&获取系统领域:程序 *&------------------------------------------------ -------------&* 数据:pxa的开头出现0, head(5)类型c,类似于help_info-program的程序, rest(35)类型c, pxa的结尾。 呼叫" SAPCORE" ID" ID"字段" PROGRAMS" id'TABLE'字段pxa- * sys *。 *&------------------------------------------------ -------------&* *&获取系统区域:ITAB-HEADS *&------------------------------------------------ -------------&* 数据:lt_itab_heads的开头出现0, num(8)类型c, shm_vers_id(14)类型c, tabhid(7)类型c, name(57)类型c, fill(10)类型c lines(5)类型c, linesalloc(16)类型c, label(5)类型c,lt_itab_heads的结尾。 呼叫" SAPCORE" ID" ID"字段" ITAB-HEADS" id'TABLE'字段itab- * sys *。
痛苦正在解决内部 表结构。 在调试器中,您需要选择相关的系统区域(在此示例中为ITAB-HEADS),然后手动计算列大小并将其插入内部表定义中。 这是因为下表是一个长文本字符串!!!
。 p>
这是LT_ITAB_HEADS内部表中系统区域数据的结果:
正式地,只有CL_ABAP_MEMORY_UTILITIES类的GET_TOTAL_USED_SIZE和GET_MEMORY_SIZE_OF_OBJECT方法。 有关更多信息,请参阅ABAP后端中的类文档。
不幸的是,它们无法返回顶级变量的列表。
嗨,桑德拉,
是的-我玩过这些,但是它们只会带回汇总的信息。
上述解决方案似乎适用于任何System Area对象。
< em> PeteA
最多设置5个标签!
好的,我自己找到了答案。
这是两个代码 片段,从调试器的系统区域屏幕工具中获取PROGRAMS和ITAB-HEADS数据。
。
。
痛苦正在解决内部 表结构。 在调试器中,您需要选择相关的系统区域(在此示例中为ITAB-HEADS),然后手动计算列大小并将其插入内部表定义中。 这是因为下表是一个长文本字符串!!!
。 p>
这是LT_ITAB_HEADS内部表中系统区域数据的结果:
。
PeteA
正式地,只有CL_ABAP_MEMORY_UTILITIES类的GET_TOTAL_USED_SIZE和GET_MEMORY_SIZE_OF_OBJECT方法。 有关更多信息,请参阅ABAP后端中的类文档。
不幸的是,它们无法返回顶级变量的列表。
嗨,桑德拉,
是的-我玩过这些,但是它们只会带回汇总的信息。
上述解决方案似乎适用于任何System Area对象。
< em> PeteA
一周热门 更多>