预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN107291598A(43)申请公布日2017.10.24(21)申请号201710666953.5(22)申请日2017.08.07(71)申请人腾讯科技(深圳)有限公司地址518000广东省深圳市南山区高新区科技中一路腾讯大厦35层(72)发明人丁海盛(74)专利代理机构深圳市深佳知识产权代理事务所(普通合伙)44285代理人王仲凯(51)Int.Cl.G06F11/30(2006.01)权利要求书2页说明书9页附图4页(54)发明名称监控方法、监控装置、监控设备和存储介质(57)摘要本发明提供了监控方法及相关装置。在本申请所提供的技术方案中,对于需释放且需被监控的目标对象,在释放时会保留其占用的内存,这样,目标对象就成为仍占用内存的Zombie对象。此外,本申请还会记录内存释放现场的相关信息。若拦截到发送给目标对象的调用消息,则说明发生了使用Zombie对象的问题,则上报之前记录的相关信息等。可见,本申请实施例通过主动制造Zombie对象的方式,来主动暴露使用Zombie对象的问题。而上报的相关信息是内存释放现场的相关信息,后续可用于分析出现使用Zombie对象的错误的原因,从而解决了现有方式中很难通过Crashlog发现和定位使用Zombie对象的问题。CN107291598ACN107291598A权利要求书1/2页1.一种监控方法,其特征在于,包括:释放目标对象持有的资源;其中,所述目标对象为需释放的对象,并且所述目标对象需被监控;记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存;所述释放栈信息表征了所述目标对象的释放路径;若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息,所述相关信息至少包括所述对象信息和所述释放栈信息。2.如权利要求1所述的方法,其特征在于,在对所述目标对象执行延迟释放策略之前,还包括:判断需释放的对象是否满足监控条件;如满足,确定所述需释放的对象为目标对象。3.如权利要求1所述的方法,其特征在于,若拦截到向所述目标对象发送的调用消息,还包括:获取所述目标对象的调用栈信息;所述调用栈信息表征了所述目标对象的调用路径;所述相关信息还包括所述调用栈信息。4.如权利要求1所述的方法,其特征在于,在所述记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存之后,还包括:将所述目标对象的isa指针更改为指向拦截类;所述拦截类至少用于实现拦截向所述目标对象发送的调用消息,以及,若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息。5.如权利要求1-4任一项所述的方法,其特征在于,还包括:将所述目标对象放入延迟释放队列,所述延迟释放队列中包括至少一个需监控的对象。6.如权利要求5所述的方法,其特征在于,还包括:在满足内存释放条件时,释放所述延迟释放队列中全部或部分对象占用的内存。7.如权利要求6所述的方法,其特征在于,所述内存释放条件包括:所述延迟释放队列已满和系统内存不足中的至少一种。8.如权利要求1-4任一项所述的方法,其特征在于,所述相关信息还包括:所述调用消息对应的方法名。9.如权利要求1-4任一项所述的方法,其特征在于,还包括:在任一需监控的对象新增引用对象后,记录所述任一需监控的对象的引用路径;在任一需监控的与其引用对象解除引用关系后,记录所述任一需监控的对象的解除引用路径。10.一种监控装置,其特征在于,包括:释放单元,用于释放目标对象持有的资源;其中,所述目标对象为需释放的对象,并且所述目标对象需被监控;记录单元,记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存;所述释放栈信息表征了所述目标对象的释放路径;拦截上报单元,用于若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息,所述相关信息至少包括所述对象信息和所述释放栈信息。2CN107291598A权利要求书2/2页11.如权利要求10所述的装置,其特征在于,所述记录单元或拦截上报单元还用于:若拦截到向所述目标对象发送的调用消息,获取所述目标对象的调用栈信息;所述调用栈信息表征了所述目标对象的调用路径;所述相关信息还包括所述调用栈信息。12.如权利要求10或11所述的装置,其特征在于,在所述记录单元记录所述目标对象的对象信息和释放栈信息,并保留所述目标对象占用的内存之后,所述释放单元还用于:将所述目标对象的isa指针更改为指向拦截类;所述拦截类至少用于实现拦截向所述目标对象发送的调用消息,以及,若拦截到向所述目标对象发送的调用消息,上报所述目标对象的相关信息。13.一种监控设备,其特征在于,至少包括处理器和存储器;所述处理器通过执行所述存储器中存放的程序以及调用其他设备,