System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于gdb的进程死锁关系图构建方法、装置及存储介质制造方法及图纸_技高网

基于gdb的进程死锁关系图构建方法、装置及存储介质制造方法及图纸

技术编号:40989894 阅读:4 留言:0更新日期:2024-04-18 21:32
本发明专利技术公开了一种基于gdb的进程死锁关系图构建方法、装置及存储介质,所述方法包括:将gdb API接口封装进图形化用户页面模板中主进程;通过进程间通信机制,主进程与渲染进程APP.vue之间进行通信,接收所述渲染进程中的操作信息;主进程利用所述gdb API接口获取与所述操作信息对应的死锁信息和对应的文件代码行的定位信息;主进程对所述死锁信息进行死锁检测,将死锁检测结果和文件代码行的定位信息发送至所述渲染进程,所述渲染进程根据所述死锁检测结果和文件代码行的定位信息调用绘图接口绘制进程死锁关系图。极大地提高锁检测的通用性和便捷性,克服了已有gdb死锁检测方法的高度依赖底层库信息的缺点。

【技术实现步骤摘要】

本专利技术涉及进程管理,尤其涉及一种基于gdb的进程死锁关系图构建方法、装置及存储介质


技术介绍

1、基于linux系统的国产操作系统和基于arm指令集、loongarch指令集的国产cpu在近些年得到了飞速的发展。在linux多线程或多进程的操作系统环境中,死锁是一种常见的问题,它可能导致系统资源的浪费、程序的停滞以及系统崩溃等严重后果。因此,对于linux系统中的死锁进行有效的检测非常关键,需要在将软件应用于生产环境前进行高效快捷的死锁检测,及时将问题暴露于实际生产环境之前。传统的死锁检测方法借助linux系统strace命令或其它工具比如valgrind进行检测,会输出大量的调试日志,需要用户进行过滤筛选进行人工分析,相对复杂低效。


技术实现思路

1、本专利技术实施例提供了一种基于gdb的进程死锁关系图构建方法、装置及存储介质,以解决现有技术中对于死锁检测信息获取和显示复杂低效的技术问题。

2、第一方面,本专利技术实施例提供了一种基于gdb的进程死锁关系图构建方法,包括:

3、将gdb api接口封装进图形化用户页面模板中主进程;

4、通过进程间通信机制,主进程与渲染进程app.vue之间进行通信,接收所述渲染进程中的操作信息,所述操作信息根据所述渲染进程接收用户在渲染进程页面的操作生成;

5、主进程利用所述gdb api接口获取与所述操作信息对应的死锁信息和对应的文件代码行的定位信息;

6、主进程对所述死锁信息进行死锁检测,将死锁检测结果和文件代码行的定位信息发送至所述渲染进程,所述渲染进程根据所述死锁检测结果和文件代码行的定位信息调用绘图接口绘制进程死锁关系图。

7、第二方面,本专利技术实施例还提供了一种基于gdb的进程死锁关系图构建装置,包括:

8、封装模块,用于将gdb api接口封装进图形化用户页面模板中主进程;

9、通信模块,用于通过进程间通信机制,主进程与渲染进程app.vue之间进行通信,接收所述渲染进程中的操作信息,所述操作信息根据所述渲染进程接收用户在渲染进程页面的操作生成;

10、获取模块,用于利用主进程利用所述gdb api接口获取与所述操作信息对应的死锁信息和对应的文件代码行的定位信息;

11、绘制模块,用于利用主进程对所述死锁信息进行死锁检测,将死锁检测结果和文件代码行的定位信息发送至所述渲染进程,所述渲染进程根据所述死锁检测结果和文件代码行的定位信息调用绘图接口绘制进程死锁关系图。

12、第三方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于gdb的进程死锁关系图构建方法。

13、本专利技术实施例提供的基于gdb的进程死锁关系图构建方法、装置及存储介质,通过将gdb api接口封装进图形化用户页面模板中主进程;通过进程间通信机制,主进程与渲染进程app.vue之间进行通信,接收所述渲染进程中的操作信息,所述操作信息根据所述渲染进程接收用户在渲染进程页面的操作生成;主进程利用所述gdb api接口获取与所述操作信息对应的死锁信息和对应的文件代码行的定位信息;主进程对所述死锁信息进行死锁检测,将死锁检测结果和文件代码行的定位信息发送至所述渲染进程,所述渲染进程根据所述死锁检测结果和文件代码行的定位信息调用绘图接口绘制进程死锁关系图。可以通过图形化的方式一键完成检测及结果展示,极大地提高锁检测的通用性和便捷性,克服了已有gdb死锁检测方法的高度依赖底层库信息的缺点。

本文档来自技高网...

【技术保护点】

1.一种基于gdb的进程死锁关系图构建方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,所述预设包格式包括:

5.根据权利要求1所述的方法,其特征在于,所述利用所述gdb API接口获取死锁信息,包括:

6.根据权利要求5所述的方法,其特征在于,所述获取对应的文件代码行的定位信息,包括:

7.根据权利要求6所述的方法,其特征在于,所述利用堆栈信息查询线程是否存在读写锁符号,包括:

8.根据权利要求6所述的方法,其特征在于,所述读取读写锁寄存器的值,并通过线程锁值读取命令读取线程锁的属主,包括:

9.一种基于gdb的进程死锁关系图构建装置,其特征在于,包括:

10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一所述的基于gdb的进程死锁关系图构建方法。

【技术特征摘要】

1.一种基于gdb的进程死锁关系图构建方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的方法,其特征在于,所述预设包格式包括:

5.根据权利要求1所述的方法,其特征在于,所述利用所述gdb api接口获取死锁信息,包括:

6.根据权利要求5所述的方法,其特征在于,所述获取对应的文件代码行的定位信息,包括:<...

【专利技术属性】
技术研发人员:常涛齐璇
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

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

1