1e41f4b71Sopenharmony_ci# memcheck 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## 命令功能 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci检查动态申请的内存块是否完整,是否存在内存越界造成节点损坏。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 命令格式 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_cimemcheck 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci## 参数说明 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci无 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci## 使用指南 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci- 当内存池所有节点完整时,输出"system memcheck over, all passed!"。 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci- 当内存池存在节点不完整时,输出被损坏节点的内存块信息。 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci## 使用实例 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci举例: 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci- 输入memcheck 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci- 输入memcheck出现内存越界 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci## 输出说明 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**示例1** 当前没有内存越界 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci``` 40e41f4b71Sopenharmony_ciOHOS # memcheck 41e41f4b71Sopenharmony_cisystem memcheck over, all passed! 42e41f4b71Sopenharmony_ci``` 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci**示例2** 出现内存越界 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci``` 47e41f4b71Sopenharmony_ci[L0S DLnkCheckMenl 349, memory check 48e41f4b71Sopenharmony_cistFreeNodeInfo.pstPrev:0x7e0d31f3 is out of legal mem range[0x80ba5f40, 0х83d00000] 49e41f4b71Sopenharmony_cicur node: 0x81f2ce0c 50e41f4b71Sopenharmony_cipre node: 0x81f28a98 51e41f4b71Sopenharmony_cipre node was allocated by task:sofia 52e41f4b71Sopenharmony_ciuwEхcTуpe = 0х2 53e41f4b71Sopenharmony_cipuмExcBuffAddr pc = 0x803ad7a4 54e41f4b71Sopenharmony_cipuwExcBuffAddr lr = 0x803ad7a4 55e41f4b71Sopenharmony_cipuwExcBuffAddr sp = 0х80cb7de0 56e41f4b71Sopenharmony_cipuwExcBuffAddr fp = 0x80cb7dec 57e41f4b71Sopenharmony_ci***backtrace begin*** 58e41f4b71Sopenharmony_citraceback 0 -- lr = 0х8037cb84 59e41f4b71Sopenharmony_citraceback 0 -- fp = 0х80cb7e1c 60e41f4b71Sopenharmony_citraceback 1 -- lr = 0х8037033c 61e41f4b71Sopenharmony_citraceback 1 -- fp = 0х80cb7e24 62e41f4b71Sopenharmony_citraceback 2 -- lr = 0x8000d108 63e41f4b71Sopenharmony_citraceback 2 -- fp = 0х80cb7e94 64e41f4b71Sopenharmony_citraceback 3 -- lr = 0х8037c7ac 65e41f4b71Sopenharmony_citraceback 3 -- fp = 0х80cb7ea4 66e41f4b71Sopenharmony_citraceback 4 -- lr = 0x803ad9e8 67e41f4b71Sopenharmony_citraceback 4 -- fp = 9x11111111 68e41f4b71Sopenharmony_ci``` 69