监控方法、监控装置、监控设备和存储介质制造方法及图纸

技术编号:16455848 阅读:35 留言:0更新日期:2017-10-25 19:57
本发明专利技术提供了监控方法及相关装置。在本申请所提供的技术方案中,对于需释放且需被监控的目标对象,在释放时会保留其占用的内存,这样,目标对象就成为仍占用内存的Zombie对象。此外,本申请还会记录内存释放现场的相关信息。若拦截到发送给目标对象的调用消息,则说明发生了使用Zombie对象的问题,则上报之前记录的相关信息等。可见,本申请实施例通过主动制造Zombie对象的方式,来主动暴露使用Zombie对象的问题。而上报的相关信息是内存释放现场的相关信息,后续可用于分析出现使用Zombie对象的错误的原因,从而解决了现有方式中很难通过Crash log发现和定位使用Zombie对象的问题。

【技术实现步骤摘要】
监控方法、监控装置、监控设备和存储介质
本专利技术涉及计算机
,更具体的说是涉及监控方法、监控装置、监控设备和存储介质。
技术介绍
僵尸(Zombie)对象可指已经释放的Objective-C对象。应用程序(例如移动APP)在运行过程中,使用Zombie对象会导致程序崩溃(Crash)或者逻辑错误,此时,会产生崩溃日志(Crashlog)。但Crashlog包含的信息少,并远离内存释放现场,因此,很难通过Crashlog发现和定位使用Zombie对象的问题。
技术实现思路
有鉴于此,本专利技术实施例提供监控方法、监控装置、监控设备和存储介质,以主动发现使用Zombie对象的问题,并收集与内存释放现场相关的信息。为实现上述目的,本专利技术实施例提供如下技术方案:一种监控方法,包括:释放目标对象持有的资源;其中,所述目标对象为需释放的对象,并且所述目标对象需被监控;记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存;所述释放栈信息表征了所述目标对象的释放路径;若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息,所述相关信息至少包括所述对象信息和所述释放栈本文档来自技高网...
监控方法、监控装置、监控设备和存储介质

【技术保护点】
一种监控方法,其特征在于,包括:释放目标对象持有的资源;其中,所述目标对象为需释放的对象,并且所述目标对象需被监控;记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存;所述释放栈信息表征了所述目标对象的释放路径;若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息,所述相关信息至少包括所述对象信息和所述释放栈信息。

【技术特征摘要】
1.一种监控方法,其特征在于,包括:释放目标对象持有的资源;其中,所述目标对象为需释放的对象,并且所述目标对象需被监控;记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存;所述释放栈信息表征了所述目标对象的释放路径;若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息,所述相关信息至少包括所述对象信息和所述释放栈信息。2.如权利要求1所述的方法,其特征在于,在对所述目标对象执行延迟释放策略之前,还包括:判断需释放的对象是否满足监控条件;如满足,确定所述需释放的对象为目标对象。3.如权利要求1所述的方法,其特征在于,若拦截到向所述目标对象发送的调用消息,还包括:获取所述目标对象的调用栈信息;所述调用栈信息表征了所述目标对象的调用路径;所述相关信息还包括所述调用栈信息。4.如权利要求1所述的方法,其特征在于,在所述记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存之后,还包括:将所述目标对象的isa指针更改为指向拦截类;所述拦截类至少用于实现拦截向所述目标对象发送的调用消息,以及,若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息。5.如权利要求1-4任一项所述的方法,其特征在于,还包括:将所述目标对象放入延迟释放队列,所述延迟释放队列中包括至少一个需监控的对象。6.如权利要求5所述的方法,其特征在于,还包括:在满足内存释放条件时,释放所述延迟释放队列中全部或部分对象占用的内存。7.如权利要求6所述的方法,其特征在于,所述内存释放条件包括:所述延迟释放队列已满和系统内存不足中的至少一种。8.如权利要求1-4任一项所述的方法,其特征在于,所述相关信息还包括:所述调用消息对应的方...

【专利技术属性】
技术研发人员:丁海盛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1