一种获取内存泄露信息的方法、装置、介质和电子设备制造方法及图纸

技术编号:24010302 阅读:30 留言:0更新日期:2020-05-02 01:31
本公开提供了一种获取内存泄露信息的方法、装置、介质和电子设备。所述方法包括:主进程获取其异常崩溃信息;基于所述异常崩溃信息的触发,主进程创建并运行应急子进程;所述应急子进程获取主进程共享的内存状态信息,并保存到内存状态数据集中;待主进程再次运行时,从所述内存状态数据集中获取内存状态信息;当所述内存状态信息满足内存异常条件时,则主进程生成内存泄露信息。本公开通过直接获取虚拟内存大小信息,从而快速定位内存泄露信息,并准确聚合内存泄露信息,提高了定位程序故障的效率。创建写时拷贝子进程,减少了其他线程和/或进程的干扰,既避免打断异常处理流程,也提高了获取异常信息的成功率和稳定性。

A method, device, medium and electronic device for obtaining memory leakage information

【技术实现步骤摘要】
一种获取内存泄露信息的方法、装置、介质和电子设备
本公开涉及定位进程异常领域,具体而言,涉及一种获取内存泄露信息的方法、装置、介质和电子设备。
技术介绍
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,例如MicrosoftWindows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。C++最初被称作包含类的C语言。它是一种面向对象的计算机程序设计语言,是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C++是C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C/C++语言因其高效的特性,广泛应用于计算机系统的软件开发中。不过它也存在明显的缺陷,比如,野指针、内存泄漏等问题一直困扰本文档来自技高网...

【技术保护点】
1.一种获取内存泄露信息的方法,其特征在于,包括:/n主进程获取其异常崩溃信息;/n基于所述异常崩溃信息的触发,主进程创建并运行应急子进程;/n所述应急子进程获取主进程共享的内存状态信息,并保存到内存状态数据集中;/n待主进程再次运行时,从所述内存状态数据集中获取内存状态信息;/n当所述内存状态信息满足内存异常条件时,则主进程生成内存泄露信息。/n

【技术特征摘要】
1.一种获取内存泄露信息的方法,其特征在于,包括:
主进程获取其异常崩溃信息;
基于所述异常崩溃信息的触发,主进程创建并运行应急子进程;
所述应急子进程获取主进程共享的内存状态信息,并保存到内存状态数据集中;
待主进程再次运行时,从所述内存状态数据集中获取内存状态信息;
当所述内存状态信息满足内存异常条件时,则主进程生成内存泄露信息。


2.根据权利要求1所述的方法,其特征在于,所述应急子进程获取主进程共享的内存状态信息,包括:
从与主进程共享的实时内存状态文件中,所述应急子进程获取主进程的内存状态信息。


3.根据权利要求2所述的方法,其特征在于,所述内存状态信息包括虚拟内存大小信息;
所述内存状态信息满足内存异常条件,包括:
所述虚拟内存大小信息大于预设进程内存阈值。


4.根据权利要求1所述的方法,其特征在于,所述应急子进程是写时拷贝子进程。


5.根据权利要求1所述的方法,其特征在于,在所述主进程创建并运行应急子进程后,还包括:
主进程获取调用栈信息,并保存到调用栈数据集中。


6.根据权利要求1所述的方法,其特征在于,当主进程生成内存泄露信息后,所述方法还包括:
主进程从所述调用栈数据集中获取调用栈信息;
将所述内存泄露信...

【专利技术属性】
技术研发人员:朴英敏
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1